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 :

Réaction bizarre d'un formulaire [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut Réaction bizarre d'un formulaire
    Bonsoir le forum,

    J'ai de nouveau besoin de vos lumières sur un nouveau sujet.

    J'ai construis un formulaire dans lequel j'ai mis des cadres à l'interieur d'autres cadres.
    Dans l'un d'eux, j'ai 9 cases à cocher.

    Lorsque je clique sur l'une d'elles, je conserve mon formulaire visible et j'en affiche 2 supplémentaires (1 de saisie, 1 de validation). Je me sers du formulaire de validation pour limiter les boutons car au total, j'ai la possibilité d'ouvrir à la suite 9 formulaires de saisie en fonction de mes choix successifs.

    Lorsque la saisie est terminée sur le formulaire secondaire et que l'on valide ou annule la saisie, mes 2 nouveaux formulaires se referment.

    Mon ennui survient à ce moment, au clic suivant sur le formulaire principal, tous les contrôles ne sont plus visibles et je n'ai plus la main sur rien.

    J'ai tenté de mettre des "STOP" sur les contrôles, mais il me semble que cela provient carrément du formulaire car aucun "STOP" n'est lu.

    Quelqu'un aurait-il une idée?

    Merci d'avance à vous.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,
    parle-nous de la propriété ShowModal de chacun de tes formulaires.

  3. #3
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour UCFOUTU,

    La propriété ShowModal de tous mes formulaires est à "FALSE" à la création du formulaire.

    Merci d'avoir répondu.

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Je ne comprends alors pas ce qui produit ce phénomène.

    Une question, toutefois (à tout hasard) : comment "construis"-tu ton formulaire dont les contrôles disparaissent ? en mode création ou dynamiquement ?

  5. #5
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour UCFOUTU,

    Je l'ai construis en mode création en ajoutant les uns après les autres tous les contrôs.
    Le formulaire fonctionne en donnant la main aux utilisateurs qu'une fois qu'ils ont réalisé l'action que je souhaite, et alors je leur ouvre l'étape suivante.
    Là, j'ai un premier cadre qui est visible à l'ouverture du formulaire, ensuite, je mets en visibilité les autres cadres au fil des saisies.

    Le problème survient après la mise en visibilité de 5 cadres et ne se produit que sur les cases à cocher.

    Merci encore

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Alors, là...
    Désolé mais impossible de deviner sans voir tout ton code, notamment celui qui concerne/modifie les propriétés Visible ici et/ou là !!!
    Attention, s'il te plait : je parle bien de code et non de la mise en pièce jointe de ton xls (je n'ouvre jamais un xls non écrit par moi-même).

  7. #7
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour UCFOUTU,

    Voici des procédures: tout d'abord la procédure d'activation du formulaire
    Code : 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_Activate()
        Frm_Ident.Visible = True
        Txt_Nom.Enabled = False
        Txt_Centre.Enabled = False
        Txt_Date.Enabled = False
        Txt_Date = Format(Date, "dddd dd mmmm yyyy")
        Frm_Journee.Visible = False
        Frm_vehicule.Visible = False
        Frm_HeureSupp.Visible = False
        Frm_TempsRepartJour.Visible = False
        Frm_SaisieAct.Visible = False
        Frm_Mandant.Visible = False
    End Sub
    Ensuite, un exemple d'activation (visibilité) d'un cadre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Txt_Tourn_Change()
        Frm_Repas.Visible = True
        Frm_vehicule.Visible = True
        Txt_KmsDep.Visible = False
        Txt_KmsArriv.Visible = False
        Txt_KmsDiff.Visible = False
        Frm_HeureSupp.Visible = True
    End Sub
    ensuite l'ouverture des formulaires suite à l'action de la checkbox
    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
    Private Sub Check_CO0_Click()
        Dim C
        'Call Commun_BlocageSaisieIdent
        If Check_CO0 = True Then
            Form_Confirm.Show
            Form_CO0.Show
            For Each C In Controls
                If Left(C.Name, 3) = "Txt" Then C.Value = ""
            Next
        Else
            For Each C In Controls
            zz = C.Name
                If Left(C.Name, 3) = "Frm" Then C.Visible = True
            Next
        End If
    End Sub
    Enfin, la procédure de fermetrure des 2 formulaires
    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
    Private Sub Cmd_AnnulerSaisie_Click()
    If Form_CO0.Visible = True Then Form_CO0.Hide
    If Form_CO1.Visible = True Then Form_CO1.Hide
    If Form_CO2.Visible = True Then Form_CO2.Hide
    If Form_CO3.Visible = True Then Form_CO3.Hide
    If Form_CO4.Visible = True Then Form_CO4.Hide
    If Form_CO6.Visible = True Then Form_CO6.Hide
    If Form_CO7.Visible = True Then Form_CO7.Hide
    If Form_CO8.Visible = True Then Form_CO8.Hide
    If Form_CO9.Visible = True Then Form_CO9.Hide
    Me.Hide
    Dim C
    For Each C In Form_Saisie_SI.Controls
        Form_Saisie_SI.Show
        C.Visible = True
    Next
     
    End Sub
    Merci

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Red...
    Lu (à peine survolé car on m'attend)...
    Utilise plutôt l'évènement initialize en lieu et place de Activate, ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Activate()

  9. #9
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour UCFOUTU,

    Ton aide a encore été précieuse, j'ai remplacé, comme tu me l'as conseillé, le Activate par Initialize et oh bonheur je n'ai plus de perte de données.

    Peux-tu me dire, avant de fermer la discussion, qu'elle est la différence entre les 2 propriétés?

    Merci d'avance

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Les instructions d'un évènement s'exécutent à chaque survenue de l'évènement en cause.
    L'évènement Activate intevient chaque fois que tu remontres, par exemple, l'UserForm en cause.
    L'évènement Initialize n'intervient par contre que la première fois (et plus ensuite à la suite d'un Show, par exemple). Voilà tout...

    PS : attention : ce sont des évènements, pas des propriétés !

  11. #11
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Merci à toi UCFOUTU et à une prochaine discussion.

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

Discussions similaires

  1. [AC-2007] Réaction bizarre treeview de Seven vers XP
    Par marsouin_89 dans le forum IHM
    Réponses: 11
    Dernier message: 10/01/2013, 19h06
  2. Réaction bizarre sur Geoportal.Control.DrawingToolbar
    Par Mides dans le forum IGN API Géoportail
    Réponses: 13
    Dernier message: 10/10/2012, 08h05
  3. Fermeture bizarre d’un formulaire child
    Par badrel dans le forum Windows Forms
    Réponses: 13
    Dernier message: 13/01/2009, 14h44
  4. Formulaire PHP comportement bizarre
    Par mat.d dans le forum Langage
    Réponses: 1
    Dernier message: 29/08/2007, 09h18

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