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 :

Fermer un UserForm avant d'en ouvrir un autre


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur Logistique
    Inscrit en
    Octobre 2013
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Logistique
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2013
    Messages : 104
    Points : 97
    Points
    97
    Par défaut Fermer un UserForm avant d'en ouvrir un autre
    Bonjour à tous,

    je souhaite savoir s'il est possible de fermer une UserForm complètement avant et en ouvrir une autre après la fermeture de la première (ou simultanément).


    En gros, j'ouvre depuis une USF1 une USF2 (et je cache USF1 à ce moment là aussi), je veux que si l'utilisateur appuie sur la croix de USF2 cela ferme USF2 et ouvre USF1 :

    Dans ma USF1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CB_TravailJO_Click()
     
        Me.Hide
        UF_ChoixAnnee.Show
        CalJO = True
        CreerCalendrier
     
    End Sub
    Dans ma USF2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
     
        If CloseMode = 0 Then
            UF_CreaPlanning.Show
        End If
     
    End Sub
    Déjà là, il ne me ferme pas USF2 : en fait, comme la procédure de fermeture de USF2 n'est pas finie, parce que le curseur est entré dans la USF1. Mais en plus si j'essaye d'ouvrir la USF2 alors là ça plante. (forcément elle est déjà ouverte)

    Bref, est-ce que c'est possible que je le fasse de la sorte ? ou est-ce que je vais être obligé de seulement cacher ma USF2 au lieu de la fermer ?

    Merci d'avance de votre aide,


    Philippe

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Il faut différer l'ouverture en employant Application.OnTime comme la démarche suivante le montre.

    1) Créez un UserForm1 avec un CommandButton1 et copiez le code suivant dans sa fenêtre de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CommandButton1_Click()
    Me.Hide
    UserForm2.Show
    End Sub
    2) Créez un UserForm2 et copiez le code suivant dans sa fenêtre de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then Application.OnTime Now + TimeValue("00:00:00"), "OuvreUSF1"
    End Sub
    3) Dans un module Standard, copiez le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub OuvreUSF1(Optional dummy As Byte)
    UserForm1.Show
    End Sub
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Fermer un fichier exel et en ouvrir un autre en même temps
    Par carocaro630 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/01/2013, 08h45
  2. Fermer une popup avant d'en ouvrir une autre
    Par banju dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2008, 15h38
  3. [VBA-E] Désactiver la croix pour fermer un userform
    Par $p00ky dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2006, 10h51
  4. Comment fermer une Tform avant meme qu'elle s'affiche??
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 17/05/2006, 11h34
  5. Réponses: 6
    Dernier message: 09/02/2006, 17h46

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