Bonjour,
J’utilise un Userform pour le renseignement d’un formulaire.
Ce formulaire comporte 4 combobox.
Les listes de ces combobox étant évolutives, j’utilise, pour les charger, une boucle « for-next » à l’initialisation du Useform.
Le programme fonctionnait bien jusqu’à ce que mes deux premières combobox ne me proposent qu’une partie de liste.
3 sur 17 pour la première, 1 sur 3 pour la deuxième. Et toujours la même proposition. Pour la première combobox c’est toujours la première, cinquième et treizième de liste. Pour la deuxième combobox, c’est toujours la première. Les troisième et quatrième combobox fonctionnent bien.
Voici mon code :
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
Private Sub UserForm_Initialize()
On Error Resume Next
nb_rang = Worksheets("Listes modifiables").Range("i65536").End(xlUp).Row
    For x = 1 To nb_rang
        If Cells(x, 9) <> "" Then
        CBX_rang.AddItem Worksheets("Listes modifiables").Cells(x, 9).Value
        End If
    Next x
nb_affectation = Worksheets("Listes modifiables").Range("k65536").End(xlUp).Row
    For x = 1 To nb_affectation
        If Cells(x, 11) <> "" Then
        CBX_affectation.AddItem Worksheets("Listes modifiables").Cells(x, 11).Value
        End If
    Next x
nb_emploi = Worksheets("Listes modifiables").Range("a65536").End(xlUp).Row
    For x = 1 To nb_emploi
        If Cells(x, 1) <> "" Then
        CBX_EMPLOI.AddItem Worksheets("Listes modifiables").Cells(x, 1).Value
        End If
    Next x
nb_SPE = Worksheets("Listes modifiables").Range("d65536").End(xlUp).Row
    For x = 1 To nb_SPE
        If Cells(x, 4) <> "" Then
        Cbx_SPE.AddItem Worksheets("Listes modifiables").Cells(x, 4).Text
        End If
    Next x
J’ai pu vérifier que mes variables correspondant aux nombres de lignes de mes listes modifiables sont justes.
Le pire c’est que le problème peut disparaitre un temps. C’est pourquoi j’y perds mon latin.
Peut-être pourrez-vous m’aider.
Merci de m'avoir lu.