Arrêt de VB pdt ouverture de formulaire

ghiscool - 16 août 2001 à 14:55
 ghiscool - 16 août 2001 à 19:06
Alors voila le probleme, je veux ouvrir un formulaire à partir de VB. Jusque là ca va ; le truc c'est que je veux que le code s'arrete pdt que le formulaire est ouvert, cad qu'il n'aille pas plus loin... :-)

j'ai essayé de faire un test avec IsLoaded ou d'ouvrir mon formulaire avec "open ...., acDialog" mais ca marche po!!

pour résumer, je veux que l'ouverture de mon formulaire soit comme un MsgBox : il faut que l'utilisateur clique sur un bouton pour que le code continue...

voilà.

7 réponses

J'ai pas très bien compris ce que tu veux obtenir... :-)

Mais si tu veux continuer d'exécuter du code après ouverture de ton formulaire, il suffit que tu coupes le code que tu as tapé après l'ouverture et que tu le colles en tant que procédure événementielle sur ouverture du formulaire en question...

J'espère que j'ai pu t'aider...

Julie 8-)
0
Ok je vais essayer merci bien.
0
Juste après avoir ouvert ton formulaire, tu peux taper ceci:
'... tu ouvre ta seconde form
While (NePeutPasContinuer)
     DOEvents
wend
'... le code se poursuit


NePeutPasContinuer est un boolean (déclaré dans un module
pour qu'il soit accessible par toutes tes forms )initialisé
à True et que tu met à False quand tu cliques sur le bouton
de ta seconde form.
Certains te diront peut être que c'est pas la meilleure
solution (c'est du bricolage) mais au moins elle marche.
:clown)
0
je crois avoir compris ce que tu veux faire. en réalité c'est pas facile à faire de façon propre. Je peux pas te dire exactement ce qu'il faut faire car je programme en vb depuis peu, mais sur d'autre languages j'ai eu ce problème.
Il faut que dés l'ouverture de ton form tu arrète ton formulaire soit en le faisant bouclé soit en levant une exeption qui te met en pause, ensuite tu fait remonter le déclencheur, je m'explique: sur la procédure d'événement sur la quelle tu veux reprendre ton code tu mais exit do ou tu fais remonter l'exeption (l'exeption c'est la manière la plus propre car tu peux bien les faire remonter de procédure en procédure pour l'exit do je sais que c'est possible mais j'ai jamais fait). Je connais pas encore assez VBA pour t'en dire plus mais dans les autre languages tu peux faire ça donc en VBA aussi!!!!!! :-)
0

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

Posez votre question
Merci beaucoup.

En fait, j'ai pu contourner le problème par une autre solution.

Merci @ tous en tout cas !!

:big) :big) :big)
0
J'ai lu tout les autres messages et j'ai pu voir que tu as trouvé, cependant selon ce que moi j'ai compris il suffit d'utiliser ceci:

Sub MaFonction
  {du code...}
  MaForm2.Show vbModal,  MaFormPrincipale  ' <-- là, MaFormPrincipale est l'appellant, càd ton application, elle sera gelée tant et aussi longtemps que MaForm2 n'est pas fermée avec "Unload Me". Pour la récup des données, suffit de les écrires dans des vars globales dans un module .BAS
  {encore du code, fait au retour de MaForm2}
End Sub


L'autre option, vbModeless, ouvrirait MaForm2, mais le code qui suit cet appel sera exécuté immédiatement, dans ce cas, MaForm2 serait plutôt un genre de barre d'outils.
0
euh j'ai pas tout compris...merci qd mme!
0
Rejoignez-nous