Application.Visible=False

Résolu
pipive Messages postés 5 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 27 août 2010 - 26 août 2010 à 22:42
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 27 août 2010 à 09:22
Salut,
Je rencontre un petit problème d'affichage avec Vba Excel. Lorsque j'active mon userform je veux fermer juste le fichier excel correspondant. Mais avec "Application.Visible=False" tous les fichiers excel ouverts deviennent invisible.
Cordialement,
Pipiv

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 août 2010 à 09:22
"le fichier excel peut toujours être visible"
Tu veux dire qu'il reste affiché à l'écran ?
Parce que, normalement, il devrait se placer en icone dans la barre des tâches.

Je viens de faire l'essai.
Oui, il faut que ta UserForm soit de type Modeless pour que cela fonctionne - Voir propriété ShowModal de ta UserForm, à mettre à False)
Par contre, cela change la méthode d'appel.

Je viens d'essayer ce code suivant :
Un bouton sur une feuille Excel - mais ce code pourrait se trouver dans Workbook_Open si tu veux que ça s'exécute au lancement du fichier.
    Dim maForme As UserForm1
    Set maForme = New UserForm1
        maForme.Show  ' la forme s'affiche mais rend la main de suite
        Do While maForme.Visible
            DoEvents  ' Boucle d'attente du 'Hide'
        Loop
    Unload maForme
    Set maForme = Nothing

Ensuite, dans la UserForm (avec un bouton pour quitter) :
Private Sub UserForm_Activate()
    ThisWorkbook.Application.WindowState = xlMinimized
    Me.Show
End Sub

Private Sub CommandButton1_Click()
    ThisWorkbook.Application.WindowState = xlNormal
    Me.Hide
End Sub
3
pipive Messages postés 5 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 27 août 2010 1
27 août 2010 à 00:03
Merci pour la réponse, mais lorsque j'utilise xlMinimized le fichier excel peut toujours être visible. J'aimerais que celui qui utilise le userform ne puisse pas voir le fichier excel, sans pour autant fermer tous ses autres fichiers ouverts
Cordialement,
Franck
1
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 août 2010 à 23:45
Salut

Essaye avec un truc du genre (tu es dans ta UserForm) :
ThisWorkbook.Application.WindowState = xlMinimized

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous