J'aimerais faire afficher l'état d'avancement d'une macro, sans utiliser une
"progress bar" mais plutôt une fenêtre qui indique les différentes tâches
que la macro réalise (définies au préalable).
Exemple:
Soit une macro devant réaliser 3 tâches (Tâche1, Tâche2, Tâche3).
Au moment où il effectue la 1ère tâche, il indique Tâche1 en cours, puis
Tâche2, etc...
Ou bien, encore plus marrant:
Il affiche les noms des 3 tâches et à côté, on a une case à cocher qui se
coche à chaque fois qu'une tâche est complétée...
Merci...
Kizman
Tu peux utiliser la barre d'état comme ceci :
Sub general()
call macro1
call macro2
call macro3
application.StatusBar = false 'supprime le dernier affichage contenu dans la
barre d'état, sans quoi il reste permanent
msgbox "Voilà le tour est joué"
End sub
private sub macro1()
for i =1 to 5000 'enclenche une boucle à 5000 flops (si tu mets moins, tu ne
verra même pas s'afficher la barre d'état:-)
application.StatusBar = "Première macro actionnée"&i
next i
End sub
private sub macro2()
for i =1 to 5000 'enclenche une boucle à 5000 flops (si tu mets moins, tu ne
verra même pas s'afficher la barre d'état:-)
application.StatusBar = "Seconde macro actionnée"&i
next i
End sub
private sub macro3()
for i =1 to 5000 'enclenche une boucle à 5000 flops (si tu mets moins, tu ne
verra même pas s'afficher la barre d'état:-)
application.StatusBar = "Troisième macro actionnée"&i
next i
End sub
Salutations
Yvan
Kizman, avec un userform, 3CheckBox et un CommanButton :
Private Sub CommandButton1_Click()
macro1
macro2
macro3
MsgBox "Voilà le tour est joué", vbExclamation, "yvan & popi"
End Sub
Private Sub macro1()
CheckBox1.Caption = "Première macro actionnée..."
Me.Repaint
For i = 6000 To 0 Step -1
Me.Caption = i
Next i
CheckBox1 = 1
CheckBox1.Caption = "Première macro terminée"
End Sub
Private Sub macro2()
CheckBox2.Caption = "Seconde macro actionnée..."
Me.Repaint
For i = 6000 To 0 Step -1
Me.Caption = i
Next i
CheckBox2 = 1
CheckBox2.Caption = "Seconde macro terminée"
End Sub
Private Sub macro3()
CheckBox3.Caption = "Troisième macro actionnée..."
Me.Repaint
For i = 6000 To 0 Step -1
Me.Caption = i
Next i
CheckBox3 = 1
CheckBox3.Caption = "Troisième macro terminée"
Me.Caption = "Traitement global terminé"
End Sub
--
@+ popi
"Quadra ressoudeur"
W2000Pro - OfficeXP - VB6 - OE6
http://popiweb.chez.tiscali.fr
.
"yvan" <fixe...@hotmail.com> a écrit dans le message de news:
#mUP8PbMCHA.944@tkmsftngp10...
Juste un dernier petit détail: comment lancer l'application à partir de
Excel même, sans passer par VBA?
Merci...
Kizman
"popi" <po...@infonie.fr> a écrit dans le message de news:
#cymrIjMCHA.1620@tkmsftngp10...
C'est si gentiment demandé que l'on ne peut pas refuser ;)
Salutations
Yvan