Liste 4 colonnes sans doublons

  • Initiateur de la discussion Initiateur de la discussion TheLio
  • 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 !

TheLio

XLDnaute Accro
Bonjour tous,
Dans le classeur joint, j'ai récupéré une incontournable formule de l'incontournable Monique pour faire une liste sans doublons sur 4 colonnes.
Mais voilà, ...
L'exemple le faisait pour 3 colonnes, j'ai essayé de l'adapter sur 4 mais à chaque fois je me fourvoye 🙁
Sauriez-vous me mettre sur la piste
Merci
A++
Lio
 

Pièces jointes

Re : Liste 4 colonnes sans doublons

Bonjour Maître Boisgontier
Merci beaucoup, ça fonctionne parfaitement
Oserais-je demander quelques commentaires sur le code comme ça je peux mieux comprendre ce que Excel et Vous, faites à ma place
++
Lio
 
Re : Liste 4 colonnes sans doublons

Code:
Function ListeTriée(champ)
  Application.Volatile
  Set mondico = CreateObject("Scripting.Dictionary")
  n = 0
  For i = 1 To champ.Areas.Count      ' parcours des zones du champ multi-zones
    n = n + champ.Areas(i).Count
    For j = 1 To champ.Areas(i).Count ' parcours des éléments d'une zone
      If champ.Areas(i)(j) <> "" And champ.Areas(i)(j) <> "." Then
        x = champ.Areas(i)(j)
        mondico.Item(x) = x      ' ajout au dictionnaire (doublons éliminés)
      End If
    Next j
  Next i
  temp = mondico.items           'transfert dictionnaire dans une table temp()
  Call Tri(temp, LBound(temp), UBound(temp))   ' tri optionnel
  Dim d():  ReDim d(n)           ' table pour retour
  For i = LBound(temp) To UBound(temp):  d(i) = temp(i): Next i
  ListeTriée = Application.Transpose(d)
End Function
http://boisgontierjacques.free.fr/pages_site/TriQuickSort.htm
Code:
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
    tmp = a(g): a(g) = a(d): a(d) = tmp
    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

JB
 
Re : Liste 4 colonnes sans doublons

Bonsoir tout le monde,

Voici la solution de Monique qui ne peut durablement ouvrir xld, pour cause de panne PC mais à qui j'ai envoyé le fichier de Lionel :

Par formule, les valeurs sans doublon
Je crois que ça marche (j'espère)
Monique

Merci à elle de faire des miracles même en panne.
 

Pièces jointes

- 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

Discussions similaires

Réponses
4
Affichages
580
Réponses
2
Affichages
531
Retour