Masquer un userform

Résolu
Bonjour,
J'ai créé un userform comportant différents boutons permettant d'ouvrir des fichiers excels.
Lorsque je clique sur un bouton, je souhaiterais que le fichier Excel s'ouvre (ce qui marche) et que ce nouveau fichier soit actif.
Le problème c'est que pour obtenir ceci, je n'ai pas trouvé d'autre moyen que de masquer le userform en utilisant userform.hide, ce que je ne souhaite pas car je voudrais revenir sur le userform directement lorsque je quitte le fichier venant d'être ouvert.
Si quelqu'un peut m'aider, ce serait très sympa.
Merci
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. Contributeur
    Bonjour,
    UserForm1.show 1
    devrait résoudre ton problème.
    (Non modal)
    A+
    1. Contributeur
      Bonjour à tous

      Ayant fait plusieurs essais (ne connaissant pas la parametre 1 du modal), UsuserForm1.Show et UserForm1.show 1 donnent le meme resultat
      Affiche le classeur ouvert, laisse l'userform affichée mais ne permet pas d'action sur la classeur
      pour permettre cela, il faut afficher en Show non momal : 2 syntaxes possible
      UserForm1.Show False ou UserForm1.Show 0 (False en VBA est = 0)
      1. Merci pour votre réponse mais cela ne marche pas (peut être me suis je trompé).
        Mon texte :

        'apparition du userform
        userform1.show 0

        ' click ensuite sur le bouton engendrant l'ouverture du fichier
        Workbooks.Open Filename:= _
        "C:\Documents and Settings\user\Mes documents\test.xls"

        Dans ce cas, le fichier s'ouvre, mais mon userform reste apparent devant le fichier (lorsqu'il représente la totalité de l'écran, c'est problématique)

        Merci de votre aide
    2. Contributeur
      Bonsoir,

      juste une piste car je ne sais pas comment, l'ouvrir dans une 2nde session d'excel et voir...
      eric
      1. Contributeur
        bonjour à tous

        une piste si j'ai tout compris
        à mettre dans le module ThisWorkBoook

        Private Sub Workbook_WindowActivate(ByVal Wn As Window)
            UserForm1.Show
        End Sub
        
        Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
            UserForm1.Hide
        End Sub
        
        1. Bonjour Wielfrid,
          Merci pour votre aide.
          C'était exactement ce que je cherchais.
          Cordialement