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

Macro l'une après l'autre

8 réponses
Avatar
Guy72
Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres macros
toutes en même temps, c'est pas ce que je souhaite, je ne sais pas si c'est
possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire démarrer
QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire démarrer QUE
la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy

8 réponses

Avatar
Jacky
Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6 Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne sais pas
si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire démarrer
QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy



Avatar
Guy72
Bonjour Jacky,
Non, c'est pas tout à fait ça.
Exemple :
Le 1er questionnaire fini, je clic sur OK, ça me copie le résultat .
"Range("AL43:AV43").Copy Destination:=Range("V43")
et je passe au suivant.
Le deuxième questionnaire fini, je clic sur OK (le même bouton, ça me copie
le résultat.
"Range("AL41:AV41").Copy Destination:=Range("V41")
(et je passe au suivant.
etc............
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:

Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6 Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne sais pas
si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire démarrer
QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy







Avatar
Jacky
Re...
Mmmvvouin....
'-----------
Sub controle()
For i = 1 To 16
MsgBox "Ici la question " & i & " ou le lancement de la macro question " & i
MsgBox "Resultat du test: " & i
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
Next
End Sub
'-----------
--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky,
Non, c'est pas tout à fait ça.
Exemple :
Le 1er questionnaire fini, je clic sur OK, ça me copie le résultat .
"Range("AL43:AV43").Copy Destination:=Range("V43")
et je passe au suivant.
Le deuxième questionnaire fini, je clic sur OK (le même bouton, ça me
copie le résultat.
"Range("AL41:AV41").Copy Destination:=Range("V41")
(et je passe au suivant.
etc............
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:

Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6 Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne sais
pas si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire démarrer
QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy











Avatar
Guy72
Non c'est pas ça encore pas facile à expliquer.
Voir cet exemple.

http://cjoint.com/?kdwHScbRAB

--
Cordialement
Guy
"Jacky" a écrit dans le message de news:
u$
Re...
Mmmvvouin....
'-----------
Sub controle()
For i = 1 To 16
MsgBox "Ici la question " & i & " ou le lancement de la macro question " &
i
MsgBox "Resultat du test: " & i
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
Next
End Sub
'-----------
--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky,
Non, c'est pas tout à fait ça.
Exemple :
Le 1er questionnaire fini, je clic sur OK, ça me copie le résultat .
"Range("AL43:AV43").Copy Destination:=Range("V43")
et je passe au suivant.
Le deuxième questionnaire fini, je clic sur OK (le même bouton, ça me
copie le résultat.
"Range("AL41:AV41").Copy Destination:=Range("V41")
(et je passe au suivant.
etc............
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:

Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6
Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne sais
pas si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire démarrer
QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy















Avatar
Jacky
Bonjour,
Essaie ceci:
'--------------
Sub controle()
Static compte As Integer
compte = compte + 1
'MsgBox "Resultat du test: " & compte
x = 45 - (compte * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
If compte = 16 Then
MsgBox "Fin des tests"
compte = 0
End If
End Sub
'-------------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:
e$
Non c'est pas ça encore pas facile à expliquer.
Voir cet exemple.

http://cjoint.com/?kdwHScbRAB

--
Cordialement
Guy
"Jacky" a écrit dans le message de news:
u$
Re...
Mmmvvouin....
'-----------
Sub controle()
For i = 1 To 16
MsgBox "Ici la question " & i & " ou le lancement de la macro question "
& i
MsgBox "Resultat du test: " & i
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
Next
End Sub
'-----------
--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky,
Non, c'est pas tout à fait ça.
Exemple :
Le 1er questionnaire fini, je clic sur OK, ça me copie le résultat .
"Range("AL43:AV43").Copy Destination:=Range("V43")
et je passe au suivant.
Le deuxième questionnaire fini, je clic sur OK (le même bouton, ça me
copie le résultat.
"Range("AL41:AV41").Copy Destination:=Range("V41")
(et je passe au suivant.
etc............
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:

Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6
Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne sais
pas si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy



















Avatar
Guy72
Bonjour Jacky

Oui c'est çà,

Mais, il y a un problème.

Quand je vais jusqu'à 16, j'efface tout et je recommence, mais en faisant
les essais je me suis aperçu:

Quand je ne vais pas jusqu'à 16, j'efface ce qui a été copié et là ça
redémarre après l'endroit ou je me suis arrêté.

Je pense que cela est normal puisque je n'ai pas été jusqu'à 16 (je n'avais
pas prévu ce cas) ?

Est-il possible de refaire démarrer toujours à 1 ?

Ci-joint http://cjoint.com/?keim2SdSte




--
Cordialement
Guy
"Jacky" a écrit dans le message de news:

Bonjour,
Essaie ceci:
'--------------
Sub controle()
Static compte As Integer
compte = compte + 1
'MsgBox "Resultat du test: " & compte
x = 45 - (compte * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
If compte = 16 Then
MsgBox "Fin des tests"
compte = 0
End If
End Sub
'-------------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:
e$
Non c'est pas ça encore pas facile à expliquer.
Voir cet exemple.

http://cjoint.com/?kdwHScbRAB

--
Cordialement
Guy
"Jacky" a écrit dans le message de news:
u$
Re...
Mmmvvouin....
'-----------
Sub controle()
For i = 1 To 16
MsgBox "Ici la question " & i & " ou le lancement de la macro question "
& i
MsgBox "Resultat du test: " & i
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
Next
End Sub
'-----------
--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky,
Non, c'est pas tout à fait ça.
Exemple :
Le 1er questionnaire fini, je clic sur OK, ça me copie le résultat .
"Range("AL43:AV43").Copy Destination:=Range("V43")
et je passe au suivant.
Le deuxième questionnaire fini, je clic sur OK (le même bouton, ça me
copie le résultat.
"Range("AL41:AV41").Copy Destination:=Range("V41")
(et je passe au suivant.
etc............
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:

Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6
Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne sais
pas si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy























Avatar
Jacky
Re...
Est-il possible de refaire démarrer toujours à 1 ?


http://cjoint.com/?kejkIgysfX

Beurgggg!! une sélection
>Range("U13:AG43").Select
> Selection.ClearContents

Range("U13:AG43").ClearContents

--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky

Oui c'est çà,

Mais, il y a un problème.

Quand je vais jusqu'à 16, j'efface tout et je recommence, mais en faisant
les essais je me suis aperçu:

Quand je ne vais pas jusqu'à 16, j'efface ce qui a été copié et là ça
redémarre après l'endroit ou je me suis arrêté.

Je pense que cela est normal puisque je n'ai pas été jusqu'à 16 (je
n'avais pas prévu ce cas) ?

Est-il possible de refaire démarrer toujours à 1 ?

Ci-joint http://cjoint.com/?keim2SdSte




--
Cordialement
Guy
"Jacky" a écrit dans le message de news:

Bonjour,
Essaie ceci:
'--------------
Sub controle()
Static compte As Integer
compte = compte + 1
'MsgBox "Resultat du test: " & compte
x = 45 - (compte * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
If compte = 16 Then
MsgBox "Fin des tests"
compte = 0
End If
End Sub
'-------------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:
e$
Non c'est pas ça encore pas facile à expliquer.
Voir cet exemple.

http://cjoint.com/?kdwHScbRAB

--
Cordialement
Guy
"Jacky" a écrit dans le message de news:
u$
Re...
Mmmvvouin....
'-----------
Sub controle()
For i = 1 To 16
MsgBox "Ici la question " & i & " ou le lancement de la macro question
" & i
MsgBox "Resultat du test: " & i
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
Next
End Sub
'-----------
--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky,
Non, c'est pas tout à fait ça.
Exemple :
Le 1er questionnaire fini, je clic sur OK, ça me copie le résultat .
"Range("AL43:AV43").Copy Destination:=Range("V43")
et je passe au suivant.
Le deuxième questionnaire fini, je clic sur OK (le même bouton, ça me
copie le résultat.
"Range("AL41:AV41").Copy Destination:=Range("V41")
(et je passe au suivant.
etc............
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:

Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6
Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne
sais pas si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy



























Avatar
Guy72
Bonjour Jacky,
Quoi Beurgggg!! mon code te plaît pas ?
Je l'ai fais avec l'éditeur de macro, mais je préfère de loin ta solution
simplifiée.
Quand à la macro, c'est au poil, exactement ce que je voulais.
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:
%
Re...
Est-il possible de refaire démarrer toujours à 1 ?


http://cjoint.com/?kejkIgysfX

Beurgggg!! une sélection
>Range("U13:AG43").Select
> Selection.ClearContents

Range("U13:AG43").ClearContents

--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky

Oui c'est çà,

Mais, il y a un problème.

Quand je vais jusqu'à 16, j'efface tout et je recommence, mais en faisant
les essais je me suis aperçu:

Quand je ne vais pas jusqu'à 16, j'efface ce qui a été copié et là ça
redémarre après l'endroit ou je me suis arrêté.

Je pense que cela est normal puisque je n'ai pas été jusqu'à 16 (je
n'avais pas prévu ce cas) ?

Est-il possible de refaire démarrer toujours à 1 ?

Ci-joint http://cjoint.com/?keim2SdSte




--
Cordialement
Guy
"Jacky" a écrit dans le message de news:

Bonjour,
Essaie ceci:
'--------------
Sub controle()
Static compte As Integer
compte = compte + 1
'MsgBox "Resultat du test: " & compte
x = 45 - (compte * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
If compte = 16 Then
MsgBox "Fin des tests"
compte = 0
End If
End Sub
'-------------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:
e$
Non c'est pas ça encore pas facile à expliquer.
Voir cet exemple.

http://cjoint.com/?kdwHScbRAB

--
Cordialement
Guy
"Jacky" a écrit dans le message de news:
u$
Re...
Mmmvvouin....
'-----------
Sub controle()
For i = 1 To 16
MsgBox "Ici la question " & i & " ou le lancement de la macro question
" & i
MsgBox "Resultat du test: " & i
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
Next
End Sub
'-----------
--
Salutations
JJ


"Guy72" a écrit dans le message de news:
%
Bonjour Jacky,
Non, c'est pas tout à fait ça.
Exemple :
Le 1er questionnaire fini, je clic sur OK, ça me copie le résultat .
"Range("AL43:AV43").Copy Destination:=Range("V43")
et je passe au suivant.
Le deuxième questionnaire fini, je clic sur OK (le même bouton, ça me
copie le résultat.
"Range("AL41:AV41").Copy Destination:=Range("V41")
(et je passe au suivant.
etc............
--
Cordialement
Guy

"Jacky" a écrit dans le message de news:

Re...
En 1 seule macro peut-être
'-----------------
Sub controle()
For i = 1 To 16
If MsgBox("Lancement de la copie " & i, 4, Application.UserName) = 6
Then
x = 45 - (i * 2)
Range("AL" & x & ":AV" & x).Copy Range("V" & x)
End If
Next
End Sub
'-----------------

--
Salutations
JJ


"Guy72" a écrit dans le message de news:

Bonjour,
Avec un bouton, la macro "Sub Controles()", fait démarrer les
autres
macros toutes en même temps, c'est pas ce que je souhaite, je ne
sais pas si c'est possible de faire la chose suivante.

Je souhaiterais, avec un clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 1,
et avec un deuxième clic sur le bouton "Sub Controles()" faire
démarrer QUE la macro 2.
Et ainsi de suite jusqu'à 16.
Voici les codes actuel

Sub Controles()
Call Controle_1
Call Controle_2
Call Controle_3
End Sub
etc............jusqu'à 16

Sub Controle_1()
Range("AL43:AV43").Copy Destination:=Range("V43")
End Sub

Sub Controle_2()
Range("AL41:AV41").Copy Destination:=Range("V41")
End Sub

Sub Controle_3()
Range("AL39:AV39").Copy Destination:=Range("V39")
End Sub
etc..............
Merci de votre aide
--
Cordialement
Guy