Bonsoir,
je découvre les classes les objets et ouf.!!!! ....
Dans un USF, j'ai une liste multiselection, deux boutons de commande et une textbox.
Lors que je selectionne ou déselectionne un nom dans la liste, apparait ou disparait une Frame qui contient le nom et le prénom selectionné, un Combobox (donne le niveau), des labels qui reprennent les scores et les date de score en fonction de la selection choisi par la comBOBox. 2 text Box permettent d'entrer des nouveaux scores et des nouvelles date.
Tout est en création dynamique.
code userform
quand je crée les frames, je crée le label Nom, le label Prénom inclus dans une frame puis les combo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim NLabel As ClasseControle Dim NCombo As ClasseControle Private sub userform_Activate 'création de la liste pour les combobox For Niveau = 0 To 6 MonTableau(Niveau) = Niveau + 1 Next Niveau 'initialisation du tableau de place pour les frame 'initialisation de la liste
si je mets juste en dessous de la création le débug.print sur le nom des combo une erreur d'execution -2147352571(80002005)' le type ne correspond pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ' création de la combobox Set NCombo = New ClasseControle Set NCombo.oCombo = Me.Controls("Frame" & Numero).Controls.Add("Forms.Combobox.1") 'Debug.Print "Me.Controls(Ncombo.oCombo).Name " & Me.Controls(NCombo.oCombo).Name With NCombo.oCombo .List = MonTableau .... end with Select Case NCombo.oCombo.Value Case 1 .BackColor = &H80FF80 Couleur = "Vert" case 2.... end select
si je l'enlève le debug.print les with et select case qui suivent et qui caractérisent le combo fonctionnent. Mais
on voit apparaitre dans le debug.print tous les controles qui sont hors de la frame et qui ne sont pas des combo et pas le combo ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Debug.Print "Me.Controls(Ncombo.oCombo).Name " & Me.Controls(NCombo.oCombo).Name résultat du debug.print Me.Controls(Ncombo.oCombo).Name Label2 Me.Controls(Ncombo.oCombo).Name TextBoxDate Me.Controls(Ncombo.oCombo).Name CBGolfeur Me.Controls(Ncombo.oCombo).Name Label2 Me.Controls(Ncombo.oCombo).Name CBInfos Me.Controls(Ncombo.oCombo).Name TextBoxDate
par contre si je fais la même chose avec les label, j e n 'obtiens que des labels...
module de classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Set NLabel = New ClasseControle Set NLabel.oLabel = Me.Controls("Frame" & Numero).Controls.Add("Forms.Label.1") Debug.Print "NLabel.oLabel.name " & NLabel.oLabel.Name NLabel.oLabel.name Label122 NLabel.oLabel.name Label123 NLabel.oLabel.name Label124 NLabel.oLabel.name Label125
j'ai des soucis aussi sur les codes pour créer les évènements sur les combo et labels. Mais j'attends pour vous en parler de digérer les docs que j'ai imprimés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Option Explicit Public WithEvents oBouton As MSForms.CommandButton Public WithEvents oLabel As MSForms.Label Public WithEvents oCombo As MSForms.Combobox
Avec tous mes remerciements
Boisselière
Partager