Double userform modal ou non et macros

Résolu
titibobo2 Messages postés 46 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 28 novembre 2007 - 28 mars 2007 à 13:18
titibobo2 Messages postés 46 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 28 novembre 2007 - 29 mars 2007 à 16:00
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

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
28 mars 2007 à 23:41
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>
3
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
28 mars 2007 à 13:34
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:
0
titibobo2 Messages postés 46 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 28 novembre 2007
28 mars 2007 à 14:49
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 ?
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
28 mars 2007 à 14:58
oui call NomDeLaMacro

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0

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

Posez votre question
titibobo2 Messages postés 46 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 28 novembre 2007
28 mars 2007 à 15:10
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 ?
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
28 mars 2007 à 15:15
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...)
0
titibobo2 Messages postés 46 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 28 novembre 2007
28 mars 2007 à 15:19
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) ..
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
28 mars 2007 à 15: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
0
titibobo2 Messages postés 46 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 28 novembre 2007
28 mars 2007 à 15:29
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
0
titibobo2 Messages postés 46 Date d'inscription dimanche 27 février 2005 Statut Membre Dernière intervention 28 novembre 2007
29 mars 2007 à 16:00
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
0