initialisation combobox jusqu'à la dernière données d'une autre feuille Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
d
diablo7431
Membre habitué
Membre habitué
Messages : 99
Inscrit le : 4 décembre 2016
Version d'Excel : 365

Message par diablo7431 » 24 octobre 2018, 23:35

Bonsoir le forum ;)

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

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
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 25 octobre 2018, 00:37

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.
1 membre du forum aime ce message.
d
diablo7431
Membre habitué
Membre habitué
Messages : 99
Inscrit le : 4 décembre 2016
Version d'Excel : 365

Message par diablo7431 » 25 octobre 2018, 06:04

Bonjour MFerrant,

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

que signifie "%" dans ta declaration?
Dim d As Object, bb, i%
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 448
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 25 octobre 2018, 09:43

Bonjour,

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

Cordialement.
1 membre du forum aime ce message.
d
diablo7431
Membre habitué
Membre habitué
Messages : 99
Inscrit le : 4 décembre 2016
Version d'Excel : 365

Message par diablo7431 » 28 octobre 2018, 10:52

Merci ;)
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message