Afficher sans stopper la macro

PetitGognol Messages postés 7 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 23 août 2002 - 19 juil. 2002 à 18:59
cs_seblomb Messages postés 36 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 4 avril 2003 - 20 juil. 2002 à 14:30
PetitGognol
Bonjour à tous,

Je bosse sur VBA Excel et aimerait afficher des messages pendant que ma macro tourne. Si j'utilise une form, elle stoppe la macro, et je n'ai pas la propriété Shownomodal disponible. J'ai essayé avec un timer, mais rien à faire, si l'utilisateur ne ferme pas la form, la macro ne continue pas à s'exécuter. Que puis-je faire ?

Merci de votre aide

3 réponses

cs_Charlie Messages postés 110 Date d'inscription jeudi 9 mai 2002 Statut Membre Dernière intervention 11 mars 2010 1
19 juil. 2002 à 19:56
pourquoi tu ne roule pas ta macro en trace mode avec le débuggeur... tu n'As qu'A faire F8 pour allé a la ligne suivante ou ctrl+f8 pour allé a la position de la souris!!!

Tu sépares tes 2 fenetre (débug & excel) de maniere a voir les 2 a l'écran et tu y vas de cette facon!
0
BasicInstinct Messages postés 1471 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
19 juil. 2002 à 21:10
tu peux pas tout simplement ecrire ton message dans une cellule ?
0
cs_seblomb Messages postés 36 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 4 avril 2003
20 juil. 2002 à 14:30
Salut,

Bah, puisque t'as pas cette fichue propriété ShowModal, je vois pas comment tu pourrais utiliser une UserForm... :sad)

Mais ce que tu peux faire, c'est ajouter une feuille nommée Information par exemple, et tu fais afficher à l'écran cette feuille pendant que ta macro tourne...

Pour ton code, ça donnerait un truc du genre:

Application.ScreenUpdating = False

' ton code

Sheets("Information").Select
Application.ScreenUpdating = True
Range("A1").Value = "Etape 1 blablabla..."
Application.ScreenUpdating = False

' ton code

Sheets("Information").Select
Application.ScreenUpdating = True
Range("A2").Value = "Etape 2 blablabla..."
Application.ScreenUpdating = False

' ton code

Sheets("Information").Select
Application.ScreenUpdating = True
Range("A3").Value = "Etape 3 blablabla..."
Application.ScreenUpdating = False

etc...

C'est moins esthétique qu'une boite de dialogue, mais je vois rien d'autre. Si jamais tu trouves pas ton bonheur ailleurs, t'auras qu'à faire ça. :big)

Bye.
0
Rejoignez-nous