message pendant exécution d'une macro

Le
PB
bonjour,
comment afficher un message pendant l'exécution d'une macro
pour donner des indications sur le déroulement du processus à l'utilisateur
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacquouille
Le #23237341
Bonjour
Peut-être:
Msgbox MaVar
où MaVar est une variable (!) de ta macro. Comme tu sais où tu as mis ce
texte, lorsque le msg s'affichera, tu sauras que tu es arrivé à tel endroit
de la macro et, en plus, tu connaitras la valeur de ta var.
Il y a aussi le bouton espion à placer dans la marge.

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"PB" a écrit dans le message de groupe de discussion :
imnmqf$175q$

bonjour,
comment afficher un message pendant l'exécution d'une macro
pour donner des indications sur le déroulement du processus à l'utilisateur
Jean-Claude
Le #23237491
Bonjour,

s'il s'agit d'afficher une information sans pour autant stopper la macro,
utiliser :
Application.StatusBar = "mon message"
qui affiche le message dans la barre d'état, en bas de la fenêtre, et permet
donc de suivre le déroulement de la macro.

Jean-Claude
PB
Le #23237481
En effet je ne veux pas arrêter la macro.
En fait je rempli un tableau de résultats et je veux faire patienter
l'utilisateur car cela prends jusqu'à une mn
Jean-Claude
Le #23237581
"PB" imnsih$19u0$
En effet je ne veux pas arrêter la macro.
En fait je rempli un tableau de résultats et je veux faire patienter
l'utilisateur car cela prends jusqu'à une mn



Dans ce cas, Application.StatusBar est une solution, avec un message du
style
"xx lignes traitées sur yy"
ainsi la personne sait à quoi s'attendre.
Mais à noter que cela ralenti très légèrement la macro, à causede
l'affichage.

Jean-Claude
Jacky
Le #23238281
Bonsoir,

Tu peux t'inspirer de ceci
'--------------
Sub msg()
Dim sh As Worksheet, x As String
x = ActiveSheet.Name
UserForm1.Show
For Each sh In Worksheets
UserForm1.Label1.Caption = sh.Index & "- Traitement de " & sh.Name & " en cours"
DoEvents
sh.Select 'a supprimer aprés test
sh.Columns(1).Clear ' a supprimer aprés test
For i = 1 To 10: sh.Cells(i, 1) = i ' a supprimer aprés test
For j = 1 To 7000000: Next ' a supprimer aprés test
Next ' a supprimer aprés test
'code actuel
'--------
'---------
Next
Unload UserForm1
Sheets(x).Select
End Sub
'----------------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201103/cijY33Kd5d.xls

--
Salutations
JJ


"PB"
bonjour,
comment afficher un message pendant l'exécution d'une macro
pour donner des indications sur le déroulement du processus à l'utilisateur
Baton Rouge
Le #23239081
On Sun, 27 Mar 2011 20:14:11 +0200, "Jean-Claude"


"PB" imnsih$19u0$
En effet je ne veux pas arrêter la macro.
En fait je rempli un tableau de résultats et je veux faire patienter
l'utilisateur car cela prends jusqu'à une mn



Dans ce cas, Application.StatusBar est une solution, avec un message du
style
"xx lignes traitées sur yy"
ainsi la personne sait à quoi s'attendre.
Mais à noter que cela ralenti très légèrement la macro, à causede
l'affichage.

Jean-Claude




Un modulo xxx dans la boucle fera l'affaire

--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
PB
Le #23241001
Merci à tous pour avoir éclairé ma lanterne et à jacky pour l'exemple joint.
Publicité
Poster une réponse
Anonyme