Bonjour
je viens vers vous pour un souci de boucle dont je n'arrive pas à résoudre. mon but est d'avoir les combobox = "" à l'ouverture du formulaire.
Sur userForm il y a un Multipage avec 2 pages,
En page 2 (3 frames)
Frame 1 il y a Combobox 1, 2 et 3
Frame 2 il y a Combobox 4
sur page 2 il y a Combobox5
J'ai bien créé dans Private Sub UserForm_Initialize() des boucles qui m'alimente bien les combobox mais qui affiche le titre dans les Combobox à l'ouverture du formulaire, pour remédier à ça j'ai ajouté à la suite des boucles qui alimente les combobox d'autres boucles afin de mettre .text = "" à l'ouverture du formulaire.
Mon code
Le souci sur la boucle For I = 1 To 5 est que seule le Combobox5 est = "" et les autres sont remplis avec le titre, ou si je remplace le 5 par 4 c'est l'inverse, c'est à dire les combobox dans les frame qui sont = "" et la combobox5 rempli.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 Private Sub UserForm_Initialize() Dim J, I As Integer '*Se positionne sur la page 1 à l'ouverture ' Me.MultiPage1.Value = 0 UF1_Admin.MultiPage1.page2.TextBox5.Locked = True 'Enabled Label29.Visible = False Label30.Visible = False With Label28 .Caption = Format(Date, "dddd dd mmmm yyyy") .Font.Bold = True .Font.Italic = True .ForeColor = RGB(255, 0, 0) End With 'Récupère les données de la colonne C... For J = 3 To Sheets("Coordonnées").Range("C65536").End(xlUp).Row UF1_Admin.MultiPage1.page2.ComboBox1 = Sheets("Coordonnées").Range("C" & J) '...et filtre les doublons If UF1_Admin.MultiPage1.page2.ComboBox1.ListIndex = -1 Then If Sheets("Coordonnées").Range("C" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox1.AddItem Sheets("Coordonnées").Range("C" & J) Next J 'Récupère les données de la colonne E... For J = 3 To Sheets("Coordonnées").Range("E65536").End(xlUp).Row UF1_Admin.MultiPage1.page2.ComboBox2 = Sheets("Coordonnées").Range("E" & J) '...et filtre les doublons If UF1_Admin.MultiPage1.page2.ComboBox2.ListIndex = -1 Then If Sheets("Coordonnées").Range("E" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox2.AddItem Sheets("Coordonnées").Range("E" & J) Next J 'Récupère les données de la colonne F... For J = 3 To Range("F65536").End(xlUp).Row UF1_Admin.MultiPage1.page2.ComboBox3 = Sheets("Coordonnées").Range("F" & J) '...et filtre les doublons If UF1_Admin.MultiPage1.page2.ComboBox3.ListIndex = -1 Then If Sheets("Coordonnées").Range("F" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox3.AddItem Sheets("Coordonnées").Range("F" & J) Next J 'Récupère les données de la colonne G... For J = 3 To Range("G65536").End(xlUp).Row UF1_Admin.MultiPage1.page2.ComboBox4 = Sheets("Coordonnées").Range("G" & J) '...et filtre les doublons If UF1_Admin.MultiPage1.page2.ComboBox4.ListIndex = -1 Then If Sheets("Coordonnées").Range("G" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox4.AddItem Sheets("Coordonnées").Range("G" & J) Next J 'Récupère les données de la colonne D... For J = 3 To Range("D65536").End(xlUp).Row UF1_Admin.MultiPage1.page2.ComboBox5 = Sheets("Coordonnées").Range("D" & J) '...et filtre les doublons If UF1_Admin.MultiPage1.page2.ComboBox5.ListIndex = -1 Then If Sheets("Coordonnées").Range("D" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox5.AddItem Sheets("Coordonnées").Range("D" & J) Next J For I = 1 To 5 UF1_Admin.MultiPage1.page2.Controls("ComboBox" & I).Text = "" Next For I = 1 To 11 UF1_Admin.MultiPage1.page2.Controls("TextBox" & I).Text = "" Next For I = 1 To 6 UF1_Admin.MultiPage1.page2.Controls("CommandButton" & I).BackColor = 13434879 Next End Sub
Si quelqu'un peu m'aiguiller la dessus ça serai sympa.
Merci d'avance
Cdlt.
Partager