Création dynamique de Frame et d'OptionButtons

Résolu
sgtpepere Messages postés 6 Date d'inscription mercredi 5 octobre 2011 Statut Membre Dernière intervention 11 octobre 2011 - 11 oct. 2011 à 14:46
sgtpepere Messages postés 6 Date d'inscription mercredi 5 octobre 2011 Statut Membre Dernière intervention 11 octobre 2011 - 11 oct. 2011 à 16:29
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
11 oct. 2011 à 14:59
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
3
sgtpepere Messages postés 6 Date d'inscription mercredi 5 octobre 2011 Statut Membre Dernière intervention 11 octobre 2011
11 oct. 2011 à 16:29
Damned, je me doutais de quelque chose comme ça mais je n'arrivais pas à mettre le doigt dessus.

Merci beaucoup, Ucfoutu ! :D
0