IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment fermer une boite de dialogue automatiquement en VBA ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 141
    Par défaut Comment fermer une boite de dialogue automatiquement en VBA ?
    Bonjour, Meilleurs voeux à tous

    J'utilise le code ci-dessous pour masquer mes feuilles de calculs à l'aide d'un bouton. sauf que quand je masque une feuille la boite de dialogue ne disparaît pas automatiquement! ce qui est embêtant étant donné que je me redirige vers une autre feuille qui n'a pas de bouton de masquage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Hide_Click()
     
    'ActiveWindow.DisplayWorkbookTabs = False
     
     
    Dim feuille As Worksheet
    Dim cell As Range
     
    Application.DisplayAlerts = False
     
    ActiveSheet.Unprotect ("")
     If MsgBox("Vous êtes sur?", vbYesNo) = vbYes Then
     Application.ScreenUpdating = False
     ActiveWindow.SelectedSheets.Visible = False
     Sheets("feuil1").Select
     ActiveSheet.Protect ("")
     
     On Error Resume Next
     Application.ScreenUpdating = True
     End If
     
      Application.DisplayAlerts = True
    End Sub
    quelqu'un peut me dire qu'est ce qui cloche dans ce bout de code ?
    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Bonjour, et bonne année 2020.

    Qu'est-ce qui ne se masque pas ? La Msgbox ?
    Qu'est-ce qui déclenche la procédure Hide_Click ? Un contrôle sur ta feuille ?

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 141
    Par défaut
    Citation Envoyé par mat955 Voir le message
    Bonjour, et bonne année 2020.
    Merci mat,
    J'ai une boite de dialogue avec deux boutons : masquer et supprimer quand je clique sur masquer la feuille active se masque et je suis redirigé vers feuille 1.

    quand je suis sur la feuille1 j'ai toujours la boite de dialogue avec masquer et supprimer.

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    D'accord, j'en conclus que ta boite de dialogue est un Userform.
    Si tu veux qu'elle se masque, il faut utiliser la méthode Hide, ou carrément la fonction Unload si tu veux libérer l'objet.

    Ex : si ton Userform sappelle "MonUserform"
    Il faudra utiliser

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 141
    Par défaut
    Il faudra utiliser
    Utiliser cette ligne ou exactement ? excuse moi je n'arrive toujours pas à comprendre

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Dans ta boucle If par exemple.

    Peux-tu me confirmer que tu as bien un Userform ?
    Si oui, il doit y avoir une action qui charge cet Userform, ce qui permet de l'afficher à l'écran.
    La ligne que je t'ai écrite permet de le masquer, mais il faut le masquer si l'utilisateur confirme qu'il veut bien masquer la feuille.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Hide_Click()
     
    'ActiveWindow.DisplayWorkbookTabs = False
     
     
    Dim feuille As Worksheet
    Dim cell As Range
     
    Application.DisplayAlerts = False
     
    ActiveSheet.Unprotect ("")
     If MsgBox("Vous êtes sur?", vbYesNo) = vbYes Then
     Application.ScreenUpdating = False
     ActiveWindow.SelectedSheets.Visible = False
     Sheets("feuil1").Select
     ActiveSheet.Protect ("")
    MonUserform.Hide    'Remplace MonUserform par le nom de ton userform
     
     On Error Resume Next
     Application.ScreenUpdating = True
     End If
     
      Application.DisplayAlerts = True
    End Sub

  7. #7
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 141
    Par défaut
    Citation Envoyé par mat955 Voir le message
    Peux-tu me confirmer que tu as bien un Userform ?
    Oui c'est bien un UserForm.
    ça fonctionne très bien merci mat

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment afficher une boite de dialogue ?
    Par THkiller dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/08/2006, 22h24
  2. Réponses: 2
    Dernier message: 20/04/2006, 14h20
  3. Réponses: 4
    Dernier message: 26/01/2006, 17h13
  4. comment afficher une boite de dialogue simple ?
    Par Ekimasu dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 08/06/2004, 17h46
  5. Comment cree une boite de dialogue parcourir
    Par kenshi dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2003, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo