Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer les doublons

  • Initiateur de la discussion Initiateur de la discussion chanu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

chanu

Guest
Bonjours à tous,
j'ai un soucis avec ce code, il me supprime les doublons de la ligne suivante alors que je veux cacher ceux de toute la colonne. Je ne vois pas l'astuce...😕

Private Sub UserForm_Initialize()

Dim Lig As Long
Dim Col As String
Dim ValeurCourante As String
Dim ValeurPrécédente As String

Lig = 1
Col = "A"
ValeurPrécédente = ""
ValeurCourante = Cells(Lig, Col).Value
Do While ValeurCourante <> ""
If ValeurCourante <> ValeurPrécédente Then
ListBox1.AddItem ValeurCourante
End If
Lig = Lig + 1
ValeurPrécédente = ValeurCourante
ValeurCourante = Cells(Lig, Col).Value
Loop
End Sub


Si quelqu'un pouvait me dire la solution merci...😀
 
Re : Supprimer les doublons

En fait ce que je voudrais c'est masquer les doublons dans une liste
J'ai une listeBox.Rowsource qui comprend des doublons et je voudrais les masquer quand je fais apparaître ma listBox

Désolé skoobi je suis débutant et ton code est un peu compliqué pour moi.

Voilà mon code tout bidon
Private Sub UserForm_Initialize()

Sheets("Feuil2").Select
lstVille.RowSource = "b1:b25"

End Sub
 
Re : Supprimer les doublons

Parfait c'est ce qui me fallait 😉

Pendant que j'y suis il y a t il un moyen de classer les éléments de la listbox par ordre alphabétique?
 
Re : Supprimer les doublons

Bonjour,

Code:
Private Sub UserForm_Initialize()
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In Range([A2], [A65000].End(xlUp))
     If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
  Next c 
  temp = MonDico.items       ' le tableau temp() reçoit les éléments de MonDico
  Call Tri(temp, LBound(temp), UBound(temp))     ' tri 
  Me.ComboBox1.List = temp                              ' éléments dans combobox1
End Sub

Sub Tri(a, gauc, droi) ' Quick sort
  ref = a((gauc + droi) \ 2)
  g = gauc: d = droi
  Do
     Do While a(g) < ref: g = g + 1: Loop
     Do While ref < a(d): d = d - 1: Loop
     If g <= d Then
        temp = a(g): a(g) = a(d): a(d) = temp
        g = g + 1: d = d - 1
     End If
   Loop While g <= d
   If g < droi Then Call Tri(a, g, droi)
   If gauc < d Then Call Tri(a, gauc, d)
End Sub

Listes sans doublons triée

JB
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
764
Réponses
1
Affichages
327
Réponses
10
Affichages
680
Réponses
5
Affichages
932
Réponses
35
Affichages
2 K
Réponses
4
Affichages
743
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…