Double userform modal ou non et macros

[Résolu]
Signaler
Messages postés
46
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
28 novembre 2007
-
Messages postés
46
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
28 novembre 2007
-
Bonjour,

 
J'ai un userform modal avec un bouton de commande qui au click lance plusieurs macros.

 
Je voulais, lors du click sur le bouton, afficher un autre
userform2 non modal ( "veuillez patientez" ) et que les macros s'exécutent
en tache de fond et à la fin un userform2.hide

 
Le 2eme userform(2) s'affiche bien mais la macro ne se lance pas derrière ?

 
Une idée ?

Merci

10 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

là où se trouve ton DoEvents, il ne sert à rien..
Et sinon, sache qu'il est impossible en VBA, d'ouvrir un UserForm Modal, puis un autre Non ModalSI le UF Modalreste affiché.

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Salut oui appelle la macro depuis le userform2! Car celle-ci ne continura pas tant que le userform2 sera affiché!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
46
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
28 novembre 2007

Merci

Si je comprends bien  :
Je clic sur le bouton du userform1 qui show le userform2.
Et dès l'affichage du userform2 ma private sub ce lance.

Mais je ne me rappelle plus comment lancer automatiquement une macro lors de l'ouverture d'un userform..

un truc comme call ?
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
oui call NomDeLaMacro

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
46
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
28 novembre 2007

ben je vois pas trop ...

La macroM est sous l'événement click sur le bouton du userform 1

Si dans le code du userform 2 je mets : call macroM  j'ai une erreur de compilation :
Instruction  incorrecte à l'intérieur  d'une procédure

Je ne peux pas mettre le userform2.show et la macro en même temps dans le même userform.

Dois-je mettre la macroM dans un module du projet ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Instruction  incorrecte à l'intérieur  d'une procédure


parait cependant être un message clair !
Une instruction doit nécessairement se trouver dans une procédure ou une fonction !
dans quelle procédure, donc, as-tu écrit ton instruction ? (à mon avis ailleurs qu'à l'intérieur d'une procédure ou d'une fonction...)
Messages postés
46
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
28 novembre 2007

J'ai juste fait un clic droit sur le userform2 puis "code" et j'ai mis call MacroM qui est dans un module du projet ( ou que je laisse dans le useform1 c'est pareil) ..
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
CXà, vois-tu, je l'avais deviné !...
Relis ce que j'ai écrit au dessus, donc ...
"Une instruction doit nécessairement se trouver dans une procédure ou une fonction "

Si tu ne vois pas de quoi il peut s'agit, ma foi.... il conviendra que tu apprennes ce qu'est une procédure (au moins) et ce qui est une fonction...
Comment on les débute, comment on les termine...
Un événement lui même ouvre une procédure.
Tout ce qui ne se trouve ni dans une procédure, ni dans une fonction, ne peut être une instruction
Messages postés
46
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
28 novembre 2007

sans doute,

j'ai résolu le probleme de la façon suivante :

Code à l'intérieur du 1er Userform :

 
Private Sub CommandButton1_Click()

 
Unload Me

DoEvents

UserForm2.Show

 
End Sub

  
Code à l'intérieur du 2nd userform :

 
Private Sub UserForm_Activate()

Ma macro 

End sub
Messages postés
46
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
28 novembre 2007

Re bonjour,
Une autre chose maintenant :

J'ai le même UF1 qui ouvre le UF2 puis les 2 sont unload.
Dans la macro qui se lance ( à l'ouverture du UF2), on ouvre un classeur qui à un autre UF qui s'ouvre automatiquement.

La macro continue seulement si ce UF3 est non modal, normal  (sinon la macro attend que le UF3 soit fermé).
Mais il reste visible. Je ne peux pas mettre unload ou un hide usf3 dans la macro du userf2 du 1er classeur sinon deboggage.

Est-il possible de femer ce userforme3 du classeur 2 à partir du classeur 1?

Merci