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 :

Ouvrir un Userform déjà fermé


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de anarchiste-mouton
    Homme Profil pro
    ceci
    Inscrit en
    Décembre 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ceci
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 69
    Par défaut Ouvrir un Userform déjà fermé
    Bonjour,

    J'ai deux Userform (disons UF1 et UF2), UF2 ne peut s'ouvrir que par un click sur un commandbutton "CB2" sur UF1. J'ai donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub CB2_Click()
    UF2.Show
    End Sub
    Ce que je veux :
    C'est qu'à chaque fois que je ferme UF2, UF1 se réinitialise.

    J'ai donc fait dans l'évènement terminate de UF2, un appel de procédure pour fermer puis ouvrir UF1. J'ai donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub UserForm_Terminate()
        Unload Me
        RefreshUF1
    End Sub
    et dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub RefreshUF1()
        Unload UF1
        UF1.Show
    End Sub
    Problème :
    Par la suite si je veux ré-ouvrir UF2, celui-ci ne s'initialise pas correctement.

    Voyez-vous une erreur jusque là?...

  2. #2
    Membre confirmé Avatar de anarchiste-mouton
    Homme Profil pro
    ceci
    Inscrit en
    Décembre 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ceci
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 69
    Par défaut
    Je joints le fichier qui montre bien ce problème d'affichage. On ne peux même plus fermer UF2 correctement la deuxième fois.

    Probleme affichage Userform.xlsm

  3. #3
    Membre très actif Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Par défaut
    Bonjour,

    Je ne sais pas si c'est la meilleurs solution mais ce que je ferais

    Userform1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Sub UserForm_Initialize() 'UF1
        MsgBox ("Réinitialisation de l'userform1")
    End Sub
    Userform2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub CommandButton1_Click() 'UF2
        Unload UserForm2
        UserForm1.UserForm_Initialize
    End Sub

  4. #4
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 576
    Par défaut
    Bonsoir,
    Dans le Userform1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub CB2_Click()
    UF2.Show
    Unload me
    End Sub
    Useform2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Terminate()
        Dim Uf as New Uf1
        Uf.Show
    End Sub

  5. #5
    Membre confirmé Avatar de anarchiste-mouton
    Homme Profil pro
    ceci
    Inscrit en
    Décembre 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ceci
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 69
    Par défaut
    Bonjour Thumb down et merci pour l'aide.

    Malheureusement le problème reste le même..

  6. #6
    Membre très actif Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Par défaut
    tu as testé ma méthode ?

  7. #7
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 576
    Par défaut
    Bonsoir,
    Code UF1 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CB2_Click()
    Me.Hide
    With New UF2
        .Show vbModal
        Unload Me
    End With
    End Sub
    Code UF2 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub UserForm_Initialize()
     
    Label1.Caption = "L'affichage est correct"
    Me.Top = 50
    Me.Left = 50
    End Sub
     
     
    Private Sub UserForm_Terminate()
    With New UF1
        .Show
    End With
    End Sub

  8. #8
    Membre confirmé Avatar de anarchiste-mouton
    Homme Profil pro
    ceci
    Inscrit en
    Décembre 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ceci
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 69
    Par défaut
    Bonjour à vous 2,

    tony76, non ça ne fonctionne pas. Tu attribue un évènement à un objet comme si c'était une de ses propriétés.

    Créer des instances d'userform comme l'a fait Thumb down, fonctionne en revanche. Merci beaucoup

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

Discussions similaires

  1. Ouvrir une userform sans le classeur
    Par BF0509 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 11/03/2009, 10h40
  2. Ouvrir un userform (excell) dans un form
    Par CAPRI_456 dans le forum VBA Access
    Réponses: 8
    Dernier message: 08/01/2008, 19h01
  3. Ouvrir un UserForm sur la Page1
    Par melouille56 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/12/2007, 17h12
  4. [VBA-E] Ouvrir un UserForm au lancement du fichier Excel
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/02/2007, 14h37
  5. [VBA-E] Ouvrir un Userform à l'ouverture du fichier excel
    Par dimitrios dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/12/2006, 16h35

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