Userform bloque! help! [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007
-
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007
-
Bonjour a tous,

Deuxieme post de la journee...Cette fois ci un probleme avec un userform qui reste bloque.

J'ai une feuille excel qui fait tourner des calculs par iterations et qui est assez longue.
J'ai donc mis un userform qui apparait lors de l'activation de ma feuille et qui contient un bouton_click permettant normalement a l'utilisateur de stopper les calcul a l'iteration suivante (j'ai peur de pas etre tres clair la).....
 
Mais voila le code

Sub CmdButtStopNow_Click()
Sheets("AUTOMATION SHEET").Activate
Sheets("AUTOMATION SHEET").Cells(2, 4).Value = "arreter le calcul"
' la valeur par defaut est "continue le calcul"
Unload UserForm1
End Sub

J'ai mis le userform en mode non modal comme ca tant que l'utilisateur ne clique pas, les calculs continue.

Sub principale()
UserForm1.Show False
While Sheets("AUTOMATION SHEET").Cells(2, 4).Value <> "arreter le calcul"
'blablabla
...........
.............
Wend
End sub

Le probleme cest que des que les calculs demarrent mon userform est bloque!!!!
Impossible de cliquer sur le bouton!

Si quelqun peut m'aider a resoudre ce probleme ca serait tres sympa

Merci d'avance

July

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
si tu as aussi des boucles dans ces autres macros, il faudrait aussi mettre des DoEvents dans ces boucles.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Si ça existe en VBA, met un DoEvents dans ta bloque pour rendre la main au système. Comme ça il pourra traiter les évènements comme par exemple le click sur ton bouton.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007

 Merci Casy,
Mais je ne dois pas mettre mon Doevents la ou il faut parce que ca n'a aucun effet....


Je l'ai mis la:

Sub principale()
UserForm1.Show False
While Sheets("AUTOMATION SHEET").Cells(2, 4).Value <> "arreter le calcul"
DoEvents
'blablabla
...........
.............
Wend
End sub

C'est la ou pas qu'il faut le mettre? (desolee, je debute alors je suis un peu perdue)

Merci,


 
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
oui normalement c'est là

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007

Est ce que le probleme peut venir du fait que jai plusieurs macro imbriquees
J'en lance une qui en appelle une autre, etc.....?
Messages postés
5
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 octobre 2007

Merci beaucoup Casy,
ca marche parfaitement maintenant