J'ai déjà utilisé ce même code VBA sur d'autres listboxes pour ajouter des non-doublons avec succès. Malheureusement, cette fois, il me donne une erreur "erreur définie par l'application ou définie par l'objet". Toute idée à ce sujet est grandement appréciée, je ne sais pas pourquoi cela n'ajoute pas les éléments à la liste. Il s'agit également d'une zone de liste ActiveX qui est ajoutée dans la feuille de calcul au lieu d'un formulaire utilisateur. Je l'ai fait ce même code exact avant sans problème, mais cette fois les erreurs dues à: rngData.SortFonction VBA .Sort pour la zone de liste
Private Sub lstCountry_Click()
Dim wsData As Worksheet
Dim strID As String
Dim rngData As Range
Dim rngCell As Range
Dim shtPivot
Set shtPivot = ThisWorkbook.Worksheets("Pivot")
Set wsData = ThisWorkbook.Worksheets("Raw Data")
Set rngData = wsData.Range("a2").CurrentRegion
lstCountry.Clear
strID = "Select Country"
rngData.Sort key1:=strID, Header:=xlYes
For Each rngCell In rngData.Columns(1).Cells
If rngCell.Value <> strID Then
lstCountry.AddItem rngCell.Value
strID = rngCell.Value
End If
Next rngCell
Ci-joint une capture d'écran de la table que je suis en train de trier
ce code s'appellerait à chaque instruction 'lstCountry.AddItem'. De plus, je ne peux pas comprendre que 'strID = rngCell.Value' dans la boucle' For Each rngCell': quel est votre véritable objectif? – user3598756
Mon but est d'ajouter les valeurs de la capture d'écran que je viens de joindre à une liste sans doublons. Je l'ai fait avant avec succès, juste cette fois je reçois une erreur et je ne sais pas pourquoi! – Rosario
quelle feuille de calcul est la zone de liste ActiveX que vous souhaitez traiter? comment le remplis-tu la première fois? – user3598756