Initialisation combobox jusqu'à la dernière données d'une autre feuille

Bonsoir le forum

A mon avis la réponse est devant moi, mais.....

j'ai besoins de remplir ma combobox par les données d'une colonne ce situant sur une autre feuille, jusque là, pas de problème

Private Sub UserForm_Initialize()
CBC.List = Sheets("lst-com-fact").Range("B2:B100").Value
Sheets("commande").Activate
End Sub

..par contre pour avoir une liste, sans doublons, jusqu'à la dernière données (uniquement), ça coince!!

j'ai essayé ceci sans succès:

Private Sub UserForm_Initialize()
Dim DL As Integer
For DL = 1 To Range("B65536").End(xlUp)
CBC.List = Sheets("lst-com-fact").Range("B2" & DL).Row
If CBC.ListIndex = -1 Then CBC.AddItem Range("B2" & DL)
Next DL
Sheets("commande").Activate
End Sub

Bonsoir,

Utilise un doctionnaire pour filtrer les doublons.

Private Sub UserForm_Initialize()
    Dim d As Object, bb, i%
    With Worksheets("lst-com-fact")
        i = .Range("B" & .Rows.Count).End(xlUp).Row
        bb = .Range("B2:B" & i).Value
    End With
    Set d = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(bb)
        d(bb(i, 1)) = ""
    Next i
    CBC.List = d.keys
End Sub

L'activation de feuille est carrément de trop !

Cordialement.

Bonjour MFerrant,

Merci, c 'est impeccable, au top, comme d'hab

que signifie "%" dans ta declaration?

Dim d As Object, bb, i%

Bonjour,

i% = i As Integer, dans une déclaration.

Cordialement.

Merci

Rechercher des sujets similaires à "initialisation combobox derniere donnees feuille"