Bonjour
comment ecrit-on une macro qui boucle et qui fait les=20
instructions suivantes du tableur 123
{?}~{D}~{?}~{D 2}~{?}~{B}~{G 3}~
{?}~ ceci veut dire j'attends que l'utilisateur entre une=20
donn=E9e puis je fais l'instruction suivante lorsqu'il fait=20
Enter
{D}~ je vais ds la cellule =E0 droite
{D 2}~je vais =E0 droite de 2 cellules ( j'en saute une )
{B}~ je descends d'une cellule=20
{G 3}~je vais =E0 gauche de 3 cellules puis je boucle en=20
refaisant la macro "Saisie"
Comment faire ensuite pour arr=EAter proprement la macro=20
sans message d'erreur
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonjour Jean-Paul V, Par exemple :
Sub ex123() Dim deBut As Label On Error Resume Next deBut: ActiveCell.Value = InputBox("Saisissez la donnée SVP", "Alors ?") If ActiveCell.Value = "" Then Exit Sub ActiveCell.Offset(0, 1).Select MsgBox "C'était {D}", , "MPFE" 'à remplacer par une action au choix ActiveCell.Offset(0, 2).Select MsgBox "C'était {D2}", , "MPFE" 'à remplacer par une action au choix ActiveCell.Offset(1, 0).Select MsgBox "C'était {B}", , "MPFE" 'à remplacer par une action au choix ActiveCell.Offset(0, -3).Select MsgBox "C'était {G3}", , "MPFE" 'à remplacer par une action au choix GoTo deBut End Sub
-- Amicales Salutations XL 97 / 2000 / 2002 Retirer A_S_ pour répondre en privé. Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Jean-Paul V" a écrit dans le message de news:43b801c4a12e$e9e9aeb0$ Bonjour comment ecrit-on une macro qui boucle et qui fait les instructions suivantes du tableur 123 {?}~{D}~{?}~{D 2}~{?}~{B}~{G 3}~
{?}~ ceci veut dire j'attends que l'utilisateur entre une donnée puis je fais l'instruction suivante lorsqu'il fait Enter {D}~ je vais ds la cellule à droite {D 2}~je vais à droite de 2 cellules ( j'en saute une ) {B}~ je descends d'une cellule {G 3}~je vais à gauche de 3 cellules puis je boucle en refaisant la macro "Saisie" Comment faire ensuite pour arrêter proprement la macro sans message d'erreur
Bonjour Jean-Paul V,
Par exemple :
Sub ex123()
Dim deBut As Label
On Error Resume Next
deBut:
ActiveCell.Value = InputBox("Saisissez la donnée SVP", "Alors ?")
If ActiveCell.Value = "" Then Exit Sub
ActiveCell.Offset(0, 1).Select
MsgBox "C'était {D}", , "MPFE" 'à remplacer par une action au choix
ActiveCell.Offset(0, 2).Select
MsgBox "C'était {D2}", , "MPFE" 'à remplacer par une action au choix
ActiveCell.Offset(1, 0).Select
MsgBox "C'était {B}", , "MPFE" 'à remplacer par une action au choix
ActiveCell.Offset(0, -3).Select
MsgBox "C'était {G3}", , "MPFE" 'à remplacer par une action au choix
GoTo deBut
End Sub
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jean-Paul V" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:43b801c4a12e$e9e9aeb0$a501280a@phx.gbl...
Bonjour
comment ecrit-on une macro qui boucle et qui fait les
instructions suivantes du tableur 123
{?}~{D}~{?}~{D 2}~{?}~{B}~{G 3}~
{?}~ ceci veut dire j'attends que l'utilisateur entre une
donnée puis je fais l'instruction suivante lorsqu'il fait
Enter
{D}~ je vais ds la cellule à droite
{D 2}~je vais à droite de 2 cellules ( j'en saute une )
{B}~ je descends d'une cellule
{G 3}~je vais à gauche de 3 cellules puis je boucle en
refaisant la macro "Saisie"
Comment faire ensuite pour arrêter proprement la macro
sans message d'erreur
Sub ex123() Dim deBut As Label On Error Resume Next deBut: ActiveCell.Value = InputBox("Saisissez la donnée SVP", "Alors ?") If ActiveCell.Value = "" Then Exit Sub ActiveCell.Offset(0, 1).Select MsgBox "C'était {D}", , "MPFE" 'à remplacer par une action au choix ActiveCell.Offset(0, 2).Select MsgBox "C'était {D2}", , "MPFE" 'à remplacer par une action au choix ActiveCell.Offset(1, 0).Select MsgBox "C'était {B}", , "MPFE" 'à remplacer par une action au choix ActiveCell.Offset(0, -3).Select MsgBox "C'était {G3}", , "MPFE" 'à remplacer par une action au choix GoTo deBut End Sub
-- Amicales Salutations XL 97 / 2000 / 2002 Retirer A_S_ pour répondre en privé. Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"Jean-Paul V" a écrit dans le message de news:43b801c4a12e$e9e9aeb0$ Bonjour comment ecrit-on une macro qui boucle et qui fait les instructions suivantes du tableur 123 {?}~{D}~{?}~{D 2}~{?}~{B}~{G 3}~
{?}~ ceci veut dire j'attends que l'utilisateur entre une donnée puis je fais l'instruction suivante lorsqu'il fait Enter {D}~ je vais ds la cellule à droite {D 2}~je vais à droite de 2 cellules ( j'en saute une ) {B}~ je descends d'une cellule {G 3}~je vais à gauche de 3 cellules puis je boucle en refaisant la macro "Saisie" Comment faire ensuite pour arrêter proprement la macro sans message d'erreur
papou
Bonjour
{G 3}~je vais à gauche de 3 cellules puis je boucle en refaisant la macro "Saisie" Combien de fois dois-tu boucler ?
Sinon voici une façon de procéder (ici la boucle s'effectue 10 fois) : Sub ASaisir() Dim i As Long, y As Long, Lavaleur For y = 1 To 10 For i = 1 To 3 Lavaleur = InputBox("Saisir la valeur", "Valeur ?") ActiveCell.Value = Lavaleur If i = 3 Then ActiveCell.Offset(y, -i).Select Else: ActiveCell.Offset(0, i).Select: End If Next i Next y End Sub
Cordialement Pascal
"Jean-Paul V" a écrit dans le message de news:43b801c4a12e$e9e9aeb0$ Bonjour comment ecrit-on une macro qui boucle et qui fait les instructions suivantes du tableur 123 {?}~{D}~{?}~{D 2}~{?}~{B}~{G 3}~
{?}~ ceci veut dire j'attends que l'utilisateur entre une donnée puis je fais l'instruction suivante lorsqu'il fait Enter {D}~ je vais ds la cellule à droite {D 2}~je vais à droite de 2 cellules ( j'en saute une ) {B}~ je descends d'une cellule Comment faire ensuite pour arrêter proprement la macro sans message d'erreur
Bonjour
{G 3}~je vais à gauche de 3 cellules puis je boucle en
refaisant la macro "Saisie"
Combien de fois dois-tu boucler ?
Sinon voici une façon de procéder (ici la boucle s'effectue 10 fois) :
Sub ASaisir()
Dim i As Long, y As Long, Lavaleur
For y = 1 To 10
For i = 1 To 3
Lavaleur = InputBox("Saisir la valeur", "Valeur ?")
ActiveCell.Value = Lavaleur
If i = 3 Then
ActiveCell.Offset(y, -i).Select
Else: ActiveCell.Offset(0, i).Select: End If
Next i
Next y
End Sub
Cordialement
Pascal
"Jean-Paul V" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:43b801c4a12e$e9e9aeb0$a501280a@phx.gbl...
Bonjour
comment ecrit-on une macro qui boucle et qui fait les
instructions suivantes du tableur 123
{?}~{D}~{?}~{D 2}~{?}~{B}~{G 3}~
{?}~ ceci veut dire j'attends que l'utilisateur entre une
donnée puis je fais l'instruction suivante lorsqu'il fait
Enter
{D}~ je vais ds la cellule à droite
{D 2}~je vais à droite de 2 cellules ( j'en saute une )
{B}~ je descends d'une cellule
Comment faire ensuite pour arrêter proprement la macro
sans message d'erreur
{G 3}~je vais à gauche de 3 cellules puis je boucle en refaisant la macro "Saisie" Combien de fois dois-tu boucler ?
Sinon voici une façon de procéder (ici la boucle s'effectue 10 fois) : Sub ASaisir() Dim i As Long, y As Long, Lavaleur For y = 1 To 10 For i = 1 To 3 Lavaleur = InputBox("Saisir la valeur", "Valeur ?") ActiveCell.Value = Lavaleur If i = 3 Then ActiveCell.Offset(y, -i).Select Else: ActiveCell.Offset(0, i).Select: End If Next i Next y End Sub
Cordialement Pascal
"Jean-Paul V" a écrit dans le message de news:43b801c4a12e$e9e9aeb0$ Bonjour comment ecrit-on une macro qui boucle et qui fait les instructions suivantes du tableur 123 {?}~{D}~{?}~{D 2}~{?}~{B}~{G 3}~
{?}~ ceci veut dire j'attends que l'utilisateur entre une donnée puis je fais l'instruction suivante lorsqu'il fait Enter {D}~ je vais ds la cellule à droite {D 2}~je vais à droite de 2 cellules ( j'en saute une ) {B}~ je descends d'une cellule Comment faire ensuite pour arrêter proprement la macro sans message d'erreur
Clément Marcotte
Bonjour,
{?}~ ceci veut dire j'attends que l'utilisateur entre une donnée puis je fais l'instruction suivante lorsqu'il fait Enter
ladonnee = inputbox("Indiquez votre donnée")
{D}~ je vais ds la cellule à droite
Activecell.offset(0,1).select
{D 2}~je vais à droite de 2 cellules ( j'en saute une )
Activecell.offset(0,2).select
{B}~ je descends d'une cellule
Activecell.offset(1,0).select
{G 3}~je vais à gauche de 3 cellules puis je boucle en
Activecell.offset(0,-3).select
Mais comme c'est autorisé, plus rapide et conseillé de ne pas sélectionner à tort et à travers, il y a probablement matière à optimisation.
une macro qui boucle Comment faire ensuite pour arrêter proprement la macro sans message d'erreur
Cela dépend si tu veux veux une boucle comptée qui va être exécutée un nombre défini de fois
For compteur = xxx to yyy Step zzzz lignes d'instructions Next
Ou une boucle conditionnelle While
While condition lignes d'instructions Wend
Ou une boucle conditionnelle
Do While condition lignes d'instructions Loop
ou
Do Until condition lignes d'instructions Loop
ou
do lignes d'instructions Loop while
ou
do lignes d'instructions Loop Until
ou
do
lignes d'instructions
exit do
loop
En conclusion, désapprendre les macros Lotus et repartir à neuf avec VBA.
Bonjour,
{?}~ ceci veut dire j'attends que l'utilisateur entre une
donnée puis je fais l'instruction suivante lorsqu'il fait
Enter
ladonnee = inputbox("Indiquez votre donnée")
{D}~ je vais ds la cellule à droite
Activecell.offset(0,1).select
{D 2}~je vais à droite de 2 cellules ( j'en saute une )
Activecell.offset(0,2).select
{B}~ je descends d'une cellule
Activecell.offset(1,0).select
{G 3}~je vais à gauche de 3 cellules puis je boucle en
Activecell.offset(0,-3).select
Mais comme c'est autorisé, plus rapide et conseillé de ne pas
sélectionner à tort et à travers, il y a probablement matière à
optimisation.
une macro qui boucle
Comment faire ensuite pour arrêter proprement la macro
sans message d'erreur
Cela dépend si tu veux veux une boucle comptée qui va être exécutée un
nombre défini de fois
For compteur = xxx to yyy Step zzzz
lignes d'instructions
Next
Ou une boucle conditionnelle While
While condition
lignes d'instructions
Wend
Ou une boucle conditionnelle
Do While condition
lignes d'instructions
Loop
ou
Do Until condition
lignes d'instructions
Loop
ou
do
lignes d'instructions
Loop while
ou
do
lignes d'instructions
Loop Until
ou
do
lignes d'instructions
exit do
loop
En conclusion, désapprendre les macros Lotus et repartir à neuf avec
VBA.