VBA : appel d'une userform depuis une macro...

Résolu/Fermé
Floki72450 Messages postés 34 Date d'inscription vendredi 17 octobre 2014 Statut Membre Dernière intervention 23 février 2016 - 6 août 2015 à 16:46
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 - 6 août 2015 à 18:24
Bonjour,

Je sais que la questions à déjà été pas mal posée sur le net... MAIS aucune des solutions apportées ne fonctionnent, pourquoi ?

Voici mon soucis :
J'ai une userform qui me demande le moi et l'année dont l'on as besoin, pour un bouton valider en dessous.
Lorsque je valide, j'aimerai que soit appeler une autre UserForm avec comme texte "veuillez patienter pendant le chargement SVP". Notez que j'ai déjà créer cette deuxième userform, mon problème n'est pas cela.
Après l'appel de ma dexième userform, et pendant celle-ci, la suite de ma macro doit être exécuter, toujours en gardant le message d'attente à l'écran. Une fois la macro terminée, la deuxième userform doit être fermée. Hors mon problème est ici : elle ne se ferme pas...

J'ai essayer : unload message (message étant le nom de ma seconde userform)
mais aussi message.hide (qui ne la ferme pas mais la masque...)

enfin bref... que faire ? mon code est il faux ?

Voici mon code :

Private Sub CommandButton_valider_Click()

'fermeture de l'Userform
Unload flo1

'message demandant de patienter le temps du traitement
message.Show


Suite de la macro à effectuer en gardant le message afficher

'fermeture de la boite d'attente
Unload message

End Sub




Le message d'attente s'ouvre bien, mais il faut le fermer manuellement pour que la macro continue de s'executer...


Merci d'avance pour votre aide !

2 réponses

tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
6 août 2015 à 17:16
Bonjour, ton code doit être construit comme ça

Private Sub CommandButton1_Click() 'Clic sur le bouton de validation
...
Unload Me 'Fermer l'userform en cours
...
Message.Show 'Ouvre ton second userform

End Sub


Le code pour l'userform Message doit rester dans sa structure (je ne sais pas si tu vas comprendre)
0
Floki72450 Messages postés 34 Date d'inscription vendredi 17 octobre 2014 Statut Membre Dernière intervention 23 février 2016
6 août 2015 à 17:28
effectivement je n'est pas compris :S
la deuxième userform s'ouvre bien, mais elle ne se ferme pas a la fin de la macro...
0
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 2 033
Modifié par tyranausor le 6/08/2015 à 18:31
En faite, il faut que tu entre du code pour le bouton de validation.

1er code pour Userform 1

> bouton valider avec le code
fermer USF 1 et appel du USF 2

2ème code pour Userform 2
> bouton valider avec le code
fermeture USF 2

Il faut bien comprendre que tu as 2 USF et donc l'un ne doit pas contenir le code de l'autre!

En reprenant ton code

Code USF Flo:

Private Sub CommandButton_valider_Click()
...
Unload flo1 'fermeture de l'Userform Flo

'message demandant de patienter le temps du traitement
message.Show
End sub


Code de l'USF Message :

Private Sub CommandButton_valider2_Click() 'Bouton USF Message
...
Unload message 'fermeture de la boite d'attente
End Sub


En faite, c'est la structure de l'USF que tu n'as pas bien respecté!
0