Forum Discussion
bernard_daniel_1950
Oct 13, 2022Iron Contributor
macro VBA excel nommer une cellule
Dans une macro, je veux donner un nom à une cellule donnée, à savoir celle où je suis au lancement de la macro. si je laisse "range", avec des références absolues, la macro fonctionne, mais une seul...
- Oct 16, 2022
Peut-être:
Dim s As String Dim reto As Range Set reto = Selection Do s = InputBox("Scannez le document, puis cliquez sur 'OK'; en fin de série, cliquez sur OK! ", " Enregistrement du retour ") If s = "" Then Exit Do Application.Goto Reference:="codbarretour" Do While ActiveCell > 0 ActiveCell.Offset(1, 0).Activate Loop reto.Select reto.Formula = s ActiveCell.Offset(0, 10).Activate Range(ActiveCell, Range("chrono")).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues ActiveCell.Offset(0, -12).Activate Loop
HansVogelaar
MVP
C'est pas grave.
Essayez
Application.ScreenUpdating = False
Application.Goto Reference:="modpass"
Dim mdp As String
mdp = InputBox("Saisissez le mot de passe!", "Action protégée par mot de passe.")
If mdp <> "biblio" Then
MsgBox "mot de passe incorrect!"
Application.ScreenUpdating = True
Exit Sub
End If
If MsgBox("Cette action va réinitialiser la grille; es données enregistrées seront conservées. " & _
"Elle peut être renouvelée à tout moment. Si c'est ce que vous souhaitez faire, " & _
"cliquez sur 'Oui', sinon sur 'Non'.", vbYesNo, "Demande de confirmation") = vbNo Then
MsgBox "Réinitialisation abandonnée!"
Application.ScreenUpdating = True
Exit Sub
End If
Application.Goto Reference:="sauvcodbarre"
bernard_daniel_1950
Oct 16, 2022Iron Contributor
Bonsoir,
Je sais, je n'ai aucune parole... Mais il y va de mon sommeil!!!
j'ai écrit ceci:
-----------------------
Dim s As String
s = InputBox("Scannez le document, puis cliquez sur 'OK'; en fin de série, cliquez sur OK! ", " Enregistrement du retour ")
If s = "" Then Exit Sub
Application.Goto Reference:="codbarretour"
Do While ActiveCell > 0
ActiveCell.Offset(1, 0).Activate
Loop
Dim reto As Range
Set reto = Selection
reto.Select
reto.Formula = s
ActiveCell.Offset(0, 10).Activate
Range(ActiveCell, Range("chrono")).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, -12).Activate
End Sub
-----------------------------------
Et je souhaiterais que, à la fin du processus, tant que s est différent de zéro, la macro reprenne au niveau de l'input box.
J'ai cherché partout, sans succès!
Je sais, je n'ai aucune parole... Mais il y va de mon sommeil!!!
j'ai écrit ceci:
-----------------------
Dim s As String
s = InputBox("Scannez le document, puis cliquez sur 'OK'; en fin de série, cliquez sur OK! ", " Enregistrement du retour ")
If s = "" Then Exit Sub
Application.Goto Reference:="codbarretour"
Do While ActiveCell > 0
ActiveCell.Offset(1, 0).Activate
Loop
Dim reto As Range
Set reto = Selection
reto.Select
reto.Formula = s
ActiveCell.Offset(0, 10).Activate
Range(ActiveCell, Range("chrono")).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, -12).Activate
End Sub
-----------------------------------
Et je souhaiterais que, à la fin du processus, tant que s est différent de zéro, la macro reprenne au niveau de l'input box.
J'ai cherché partout, sans succès!
- HansVogelaarOct 16, 2022MVP
Peut-être:
Dim s As String Dim reto As Range Set reto = Selection Do s = InputBox("Scannez le document, puis cliquez sur 'OK'; en fin de série, cliquez sur OK! ", " Enregistrement du retour ") If s = "" Then Exit Do Application.Goto Reference:="codbarretour" Do While ActiveCell > 0 ActiveCell.Offset(1, 0).Activate Loop reto.Select reto.Formula = s ActiveCell.Offset(0, 10).Activate Range(ActiveCell, Range("chrono")).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues ActiveCell.Offset(0, -12).Activate Loop
- bernard_daniel_1950Oct 16, 2022Iron ContributorEncore merci!
- bernard_daniel_1950Oct 25, 2022Iron ContributorBonjour!
Toute honte bue (et le bouquin n'arrivant toujours pas, je soumets cet écueil à votre perspicacité!
J'ai écrit ceci:
---------------------------
Application.ScreenUpdating = False
MsgBox "Ceci va actualiser les données en provenance de acredit.Pour les cartes bancaires, le correctif est fixé sur 11 (novembre). Pour l'actualiser, modifiez le en case A4, puis cliquez sur 'MAJ'(dans 'import crédit m')."
Application.Goto Reference:="arriveecb"
Range("F3").Select
ActiveCell.FormulaR1C1 = _
"='[acredit m.xlsm]CB 36048 00010074603 # 112022'!R[3]C1"
Range("A4").Select
Dim s As String
s = InputBox("Modifiez le mois!", " Enregistrement du retour ", Cells(3, 6))
------------------------------------
Je voudrais que 'par défaut' affiche la formule contenue dans la cellule de référence, et non sa valeur affichée, afin de la rectifier...
En fait, rectifier le mois (qui suit la dièse)!
Merci d'avance! - HansVogelaarOct 25, 2022MVP
Peut-être
s = InputBox("Modifiez le mois!", " Enregistrement du retour ", Cells(3, 6).FormulaR1C1Local)
Ou bien??
s = InputBox("Tapez le mois comme mmaaaa", " Enregistrement du retour ", Format(Date, "mmyyyy")) Range("F3").FormulaR1C1 = _ "='[acredit m.xlsm]CB 36048 00010074603 # " & s * "'!R[3]C1" Range("A4").Select
- bernard_daniel_1950Oct 25, 2022Iron Contributorre,
j'ai donc tapé ceci:
------------------------
Application.ScreenUpdating = False
MsgBox "Ceci va actualiser les données en provenance de acredit.Pour les cartes bancaires, le correctif est fixé sur 11 (novembre). Pour l'actualiser, modifiez le en case A4, puis cliquez sur 'MAJ'(dans 'import crédit m')."
Application.Goto Reference:="arriveecb"
Range("F3").Select
ActiveCell.FormulaR1C1 = _
"='[acredit m.xlsm]CB 36048 00010074603 # 112022'!R[3]C1"
Range("A4").Select
Dim s As String
s = InputBox("Tapez le mois comme mmaaaa", " Modification du mois ", Format(Date, "mmyyyy"))
Range("F3").FormulaR1C1 = _
"='[acredit m.xlsm]CB 36048 00010074603 # " & s * "'!R[3]C1"
Range("A4").Select
Range("B4").Select
-----------------------------------
J'ai une erreur d'exécution 13 au niveau de:
Range("F3").FormulaR1C1 = _
"='[acredit m.xlsm]CB 36048 00010074603 # " & s * "'!R[3]C1"
J'ai dû mal reproduire quelque chose, mais je ne vois pas quoi! - HansVogelaarOct 25, 2022MVP
Excusez moi, c'est ma erreur.
Range("F3").FormulaR1C1 = _
"='[acredit m.xlsm]CB 36048 00010074603 # " & s & "'!R[3]C1" - bernard_daniel_1950Oct 26, 2022Iron ContributorEncore moi... et "programmation vba pour les nuls" ne m'aide pas !
J'ai écrit:
------------------
Application.Goto Reference:="moisan"
Do While Active.cell.Value <> "ftransfert"
ActiveCell.Offset(1, 0).Select
Loop
------------------
Donc, <> de la valeur d'une cellule nommée "ftransfert"...
Et ça ne lui plaît pas!
Je suis -presque-désespéré! - HansVogelaarOct 26, 2022MVP
Do While Active.cell.Value <> "ftransfert"
serait être:
Do While ActiveCell.Value <> "ftransfert"
- bernard_daniel_1950Oct 26, 2022Iron ContributorC'est trop bête!
Je crois que je vais aller me coucher...
Merci! - HansVogelaarOct 26, 2022MVP
Dormez bien.