Création dynamique de Frame et d'OptionButtons

Résolu
Signaler
Messages postés
6
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
11 octobre 2011
-
Messages postés
6
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
11 octobre 2011
-
Mon projet est toujours de créer un document à remplir par le biais de deux Userform: un pour le parent et un pour le ou les enfants de la famille.

Dans l'Userform consacré aux élèves, je voudrais créer un frame pour chaque enfant et deux OptionButtons dans chaque Frame.

Je suis parti là dessus:
 Set Frame_AutoGateauAnniv = frmEleve.Controls.Add("Forms.Frame.1")
        With Frame_AutoGateauAnniv
            .Left 35 + i * 140: .Top 145: .Width = 150: .Height = 70: .Name = "Frame_Anniv" & CStr(i)
        End With
        
         nom_frame = "Frame_Anniv" & CStr(i)
        Set Option_AutoGateauAnniv_oui = frmEleve.Controls(nom_frame).Add("Forms.OptionButton.1")
        With Option_AutoGateauAnniv_oui
            .Left 40 + i * 140: .Top 150: .Width = 40: .Height = 20: .Caption = "oui": .Name = "AutoGateauAnniv_oui" + CStr(i): .Value = ""
        End With
        
        Set Option_AutoGateauAnniv_non = frmEleve.Controls(nom_frame).Add("Forms.OptionButton.1")
        With Option_AutoGateauAnniv_non
            .Left 70 + i * 140: .Top 150: .Width = 40: .Height = 20: .Caption = "non": .Name = "AutoGateauAnniv_non" + CStr(i): .Value = ""
        End With


Les deux frames apparaissent bien dans mon Userform mais les boutons sont invisibles.

Quelqu'un a une solution ?

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bonjour,

Si si, ils SONT visibles !
Tu veux dire que TU NE LES VOIS PAS ! et pour cause : tu les as placés hors du périmètre de ton Frame !
Tu en veux la preuve ?
....
....
With Option_AutoGateauAnniv_oui
            .Left 0: .Top 0: .Width = 40: .Height = 20: .Caption = "oui": .Name = "AutoGateauAnniv_oui" + CStr(i): .Value = ""
        End With
        
        Set Option_AutoGateauAnniv_non = frmEleve.Controls(nom_frame).Add("Forms.OptionButton.1")
        With Option_AutoGateauAnniv_non
            .Left 0: .Top 15: .Width = 40: .Height = 20: .Caption = "non": .Name = "AutoGateauAnniv_non" + CStr(i): .Value =  ""
        End With
....
....

en te rappelant que les coordonnées (0,0) correspondent à l'angle supérieur gauche de ton Frame .

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
11 octobre 2011

Damned, je me doutais de quelque chose comme ça mais je n'arrivais pas à mettre le doigt dessus.

Merci beaucoup, Ucfoutu ! :D