Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macros inter active de saisie de données au km

3 réponses
Avatar
Jean-Paul V
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

3 réponses

Avatar
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
Avatar
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

Avatar
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.