Bonjour à tous,
Je vous expose mon problème.
J'ai créé un questionnaire via UserForm sur Excel avec pleins de petites fonctionnalités VBA.
Lorsque je clique sur un bouton "Ajouter Experts", un nouveau userform "ADDEXPERTS" m'apparait avec 3 champs m'offrant la possibilité de renseigner le nom/prénom/mail de l'expert. Je les renseigne.
Si j'appuie sur un bouton "enregistrer" (dans ce même userForm), ces informations sont reprises dans une feuille excel (database) qui stocke l'info.
J'ai aussi dans ce userform un bouton "ajouter autre expert", quand je clique dessus je créé mes 3 champs via une boucle dans le userform qui s'agrandit en fonction (au max 10 experts à ajouter et j'ai bien blindé mon code pour ca)
voici la partie du code pour ajouter mes 3 champs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 For i = 1 To 3 Set Obj = TExperts.Controls.Add("forms.textbox.1") With Obj .Name = "OtherExpert" '& (CompteurDeClick + 1) 'nom de ta textbox (toto1, toto2, toto3, ...) .Left = 160 + (100 * (CompteurDeClick)) 'position par rapport au rebord gauche de l'UserForm .Top = 12 + PositionTop 'position par rapport au haut de l'UserForm .Width = 78 'largeur de la zone d'écriture .Height = 18 'hauteur de la zone d'écriture 'tu peux rajouter ou enlever des propriétés de l'objet End With PositionTop = PositionTop + 30 Next
Mon problème est le suivant, je n'arrive pas à récupérer les valeurs stocker pour mon expert 2. C'est à dire que je crée 3 champs nommés "OtherExpert2" , "OtherExpert3" , "OtherExpert4" qui devrait reprendre le nom/prénom/mail de mon 2eme expert.
Mon code est le suivant quand je clique sur le bouton "enregistrer" :
J'ai essayé plusieurs possibilités : OtherExpert(j), TExperts.OtherExpert1, OtherExpert & (j) rien ne marche...
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 Private Sub RegisterExperts_Click() DB = "Database" NbLignesNonVideDB = Sheets(DB).Columns(1).Find("", LookIn:=xlFormulas, lookat:=xlWhole).Row NbExperts = Sheets("Technique").Cells(2, 2).Value If NbExperts = 0 Then Sheets(DB).Cells(NbLignesNonVideDB, 20).Value = ExpertName1 & ":" & ExpertRole1 & ":" & ExpertDepartment1 & ":" & ExpertMail1 'seulement 1expert de renseigner, facile à reprendre les infos vu que je connais les noms des champs. Else Sheets(DB).Cells(NbLignesNonVideDB, 20).Value = ExpertName1 & ":" & ExpertRole1 & ":" & ExpertDepartment1 & ":" & ExpertMail1 j = 2 For j = 2 To NbExperts + 1 Sheets(DB).Cells(NbLignesNonVideDB, 20).Value = Sheets(DB).Cells(NbLignesNonVideDB, 20).Value & "|" & TExperts.OtherExpert1 '+ (j) & ":" & OtherExpert(j) & ":" & OtherExpert(j) & ":" & OtherExpert(j) Next j End If
Comment est-ce que je peux faire pour récupérer les petits noms techniques de mes 3 champs créés via le bouton ???
Partager