glasgow1705
Messages postés12Date d'inscriptionlundi 14 septembre 2009StatutMembreDernière intervention18 décembre 2009
-
25 nov. 2009 à 18:02
cs_nitho
Messages postés130Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention 8 décembre 2015
-
27 nov. 2009 à 23:08
Bonjour,
j'ai ce type de macro associe a un premier bouton de commande
Do while....
call AAA
call BBB
-> call CCC
loop
Je voudrais savoir si il est possible, en appuyant sur un 2eme bouton de commande de se referer a cette macro deja existante, mais de lancer la macro uniquement a partir de la sub CCC... et qu'ensuite la macro continue dans la boucle while...
cs_nitho
Messages postés130Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention 8 décembre 2015 27 nov. 2009 à 23:08
je pense à la fonction goto mais je ne pense pas qu'elle puisse s'étendre à l'extérieur de la procédure d'appel.
Une autre idée me viens à l'esprit, j'écris n'importe quoi!! Analyse ce code
[list]
Dim truc as boolean
Private sub commandbutton2_clic()
truc = false
call private sub commandbutton1_clic()
end sub
private sub commandbutton1_clic()
Do while ...
if truc = true then
call AAA
call BBB
end if
call ccc
truc = true
loop
end sub
/list
glasgow1705
Messages postés12Date d'inscriptionlundi 14 septembre 2009StatutMembreDernière intervention18 décembre 2009 26 nov. 2009 à 11:53
non, ma sub CCC n'a pas de valeur, c'est en fait une macro qui fait "bouger" certaines cellules de ma feuille excel, alors que les sub AAA et BBB cree et organise ces cellules.
en cliquant sur ce 2eme bouton mes cellules existent deja et je voudrais juste lles faire bouger.
et ensuite que la boucle while reprenne la main et continue a creer et bouger les cellules....
glasgow1705
Messages postés12Date d'inscriptionlundi 14 septembre 2009StatutMembreDernière intervention18 décembre 2009 26 nov. 2009 à 12:54
oui c'est possible que je n'utilise pas exactement le bon vocabulaire, desole....
non la macro a ete faite a la main, mais elle est assez grosse...
voila en gros j'ai
cmdbutton1_click
Do While X = 0 (le x est gere en parallele par une autre fonction)
Call AAA
Call BBB
Call CCC
Loop
(AAA et BBB n'ont pas bcp d'importance ici)
sub CCC
Do While toppy = 0
s = Timer
Do While Timer < s + vivit
DoEvents
Loop
If Cells(53, 53) = 1 Then
For i = 20 To 1 Step -1
For j = 1 To 12
If Cells(i, j).Interior.ColorIndex = 5 Then
Cells(i, j).Interior.ColorIndex = 8
Cells(i + 1, j).Interior.ColorIndex = 5
End If
Next j
Next i
End If
Loop
w = Timer
Do While Timer < w + vivit
DoEvents
Loop
For i = 1 To 20
For j = 1 To 12
If Cells(i, j).Interior.ColorIndex = 5 Then
Cells(i, j).Interior.ColorIndex = 6
End If
Next j
Next i
End Sub
(vivit et toppy sont egalement geres en parallele)
et j'ai donc un deuxieme bouton
cmdbutton2_Click
qq lignes de code sans interet
et la je voudrais "rejoindre" la boucle while du 1er bouton au niveau de "CallCCC"
end sub
j'arrive pas a me rendre compte si je suis clair ou pas?