XL 2016 resultat sans doublon

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

lamho27

XLDnaute Occasionnel
Bonjour le forum
j'ai 12 colonnes de 12 mois avec des noms de personnes , je voudrais résumer dans colonne "nom" toutes les nom de 12 mois sans nom répétition ( sans doubler )
merci d'avance
 

Pièces jointes

Bonjour lamho27, Ce lien n'existe plus Ce lien n'existe plus toutes et tous,

Il suffit d'adapter le code de Paf et DoubleZero.

Code:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Application.ScreenUpdating = 0
     If Not Intersect(Target, Range("AQ3:BB65000")) Is Nothing Then
         Range(Range("BC3"), Range("BC3").End(xlDown)) = ""
         Dim Dico, i As Long, j As Byte
     Set Dico = CreateObject("Scripting.Dictionary")
     With Worksheets("Feuil1")
              For j = 43 To 55    ' pour chaque colonne de AQ à BB
            For i = 3 To .Cells(Cells.Rows.Count, j).End(xlUp).Row
                 Dico(CStr(.Cells(i, j))) = ""
             Next
         Next
         .Cells(3, 55).Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)
     End With

         Range("BC2:BC65000").Sort Range("BC2"), xlAscending, Header:=xlYes ' trier
    End If
     Application.ScreenUpdating = -1
End Sub

Bon week-end à tous.
Cordialement
 
Bonjour,

ton code ça marche bien, mais quand je crée dans mon tableau de colonnes AQ3:BB6500 au lieu de B3:m6500; il ne marche pas, pourquoi ?

C'est un des avantages d'une fonction perso (post 4). Elle est adaptable par une personne ne connaissant pas VBA.

JB
 

Pièces jointes

Dernière édition:
Bonjour BOISGONTIER,

Je vous avais oublier et comment vous oublier, car vous êtes une "bible" (si je puis dire) pour le plus grand nombre d'entre nous débutant ou non.

Pour lamho27,
En "BC3"
Code:
=sansdoublonstrié(AQ3:BB17)
tirer vers le bas et valider par Ctrl+Alt+Entrée.

Désactiver "Afficher un zéro dans les cellules qui ont une valeur nulle" dans Option excel, Options avancées, Afficher les options pour cette feuille de calcul.

Cordialement.
 
Dernière édition:
Re lamho27,

Si tu utilise la méthode de Jacques Boisgontier, il faut aussi utiliser son code a mettre dans un module.
Pour sa méthode "=sansdoublonstrié(AQ3:BB17)" tu dois mettre ce code.

Code:
Option Compare Text
Function SansDoublonsTrié(champ As Range)
  Set mondico = CreateObject("Scripting.Dictionary")
  mondico.CompareMode = vbTextCompare
  temp = champ
  For Each c In temp
    If c <> "" Then mondico(c) = ""
  Next c
  Dim b()
  ReDim b(1 To Application.Caller.Rows.Count)
  i = 1
  For Each c In mondico.keys
    b(i) = c
    i = i + 1
  Next
  Call tri(b, 1, mondico.Count)
  SansDoublonsTrié = Application.Transpose(b)
End Function
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

Tu peux trouver tout ce que tu veux sur le site http://www.google.fr/url?sa=t&rct=j...qIclfLk-zDHjr2t6Q&sig2=dobrxDqajxFNinL-3BKadA

Bonne journée.
 
Dernière édition:
Bonjour @ tous,
avec une formule matricielle.
VB:
=SIERREUR(INDIRECT(ADRESSE(MOD(PETITE.VALEUR(SI((B$3:M$17<>"")*(NB.SI(P$2:P2;B$3:M$17)=0);NB.SI(B$3:M$17;"<"&B$3:M$17)*10^5+LIGNE(B$3:M$17));1);10^5);MOD(MOD(PETITE.VALEUR(SI((B$3:M$17<>"")*(NB.SI(P$2:P2;B$3:M$17)=0);NB.SI(B$3:M$17;"<"&B$3:M$17)*10^5+LIGNE(B$3:M$17)*10^2+COLONNE(B$3:M$17));1);10^5);10^2)));"")

Voir PJ


@ + +
 

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

  • Question Question
XL 2016 liste
Réponses
10
Affichages
204
Réponses
5
Affichages
161
D
  • Question Question
Réponses
5
Affichages
70
Didierpasdoué
D
  • Question Question
Microsoft 365 tableau d'alerte
Réponses
2
Affichages
138
Réponses
4
Affichages
221
Retour