Userform bloque! help!

Résolu
Julyaberdeen Messages postés 5 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 octobre 2007 - 18 oct. 2007 à 18:02
Julyaberdeen Messages postés 5 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 octobre 2007 - 22 oct. 2007 à 10:53
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 oct. 2007 à 10:52
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
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 oct. 2007 à 19:03
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
0
Julyaberdeen Messages postés 5 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 octobre 2007
19 oct. 2007 à 10:26
 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,


 
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
19 oct. 2007 à 10:30
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Julyaberdeen Messages postés 5 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 octobre 2007
19 oct. 2007 à 10:47
Est ce que le probleme peut venir du fait que jai plusieurs macro imbriquees
J'en lance une qui en appelle une autre, etc.....?
0
Julyaberdeen Messages postés 5 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 octobre 2007
22 oct. 2007 à 10:53
Merci beaucoup Casy,
ca marche parfaitement maintenant
0
Rejoignez-nous