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

Résolu
Floki72450 Messages postés 45 Statut Membre -  
tyranausor Messages postés 3501 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. tyranausor Messages postés 3501 Date d'inscription   Statut Membre Dernière intervention   2 060
     
    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
    1. Floki72450 Messages postés 45 Statut Membre
       
      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
  2. tyranausor Messages postés 3501 Date d'inscription   Statut Membre Dernière intervention   2 060
     
    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