Bonjour à toutes et à tous,

J'ai à nouveau un problème. En effet je ne comprend pas une ligne de code.
Je m'explique: Je fais un filtre à l'aide de combobox, j'alimente mes combobox avec le code suivant :

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
Private Sub UserForm_Initialize() 'Récupération des données sur la BDD et tri dans l'ordre alphabetique
Dim LastLig As Long
Dim j As Long
Dim i As Byte
Dim n As Long
Dim ColCrit
 
ColCrit = Array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23) ' n° de colonnes choisies pour le filtrage
 
With Sheets("bras")
    .AutoFilterMode = False
    LastLig = .Cells(.Rows.Count, 4).End(xlUp).Row 
    For i = 1 To UBound(ColCrit) 
        For j = 4 To LastLig 
            Me.Controls("ComboBox" & i).Value = .Cells(j, ColCrit(i)).Value 
            If Me.Controls("ComboBox" & i).ListIndex = -1 Then Me.Controls("ComboBox" & i).AddItem .Cells(j, ColCrit(i)).Value
            Me.Controls("ComboBox" & i).ListIndex = -1
        Next j 
 
    'fonction pour tri dans l'ordre alphabetique
        With Me.Controls("ComboBox" & i) 
        For x = 0 To .ListCount - 1
             For y = 0 To .ListCount - 1
               If .List(x) < .List(y) Then
                    strTemp = .List(x) 
                        .List(x) = .List(y)
                            .List(y) = strTemp
                                End If
    Next y
    Next x
  End With
Next i
End With
End Sub
Mais le problème, c'est la ligne ou je décris LastLig

Code : Sélectionner tout - Visualiser dans une fenêtre à part
LastLig = .Cells(.Rows.Count, 4).End(xlUp).Row
Elle ne prend en compte que la colonne 4, mais j'aimerais qu'elle prend en compte la dernière ligne de toutes les colonnes.

Donc si je me suis bien comprendre, enfin j'espère, il faut en fait que quand j'ajoute des données à la suite dans les colonnes (sans cellules vides), la combobox soit alimenté correctement.

Je remercie par avance à celui ou celle qui m'indiquera la marche à suivre.

Pour finir, j'aimerais souligner la gentillesse, la rapidité et la patience de chaque membre qui m'ont aidé à me perfectionner.

Je sais que je le dis souvent, mais je tiens encore à le dire à toute la communauté:

MERCI