Report des informations des doublons

Troudz

XLDnaute Occasionnel
Bonsoir tout le monde,

Voilà plusieurs heures que je galère sans trouver de solution potable à mon problème.

J'ai une longue liste de personnes qui peut éventuellement contenir des "quasi - doublons". Entre ces doublons, seule les informations d'une colonne diffèrent. Cette colonne peut avoir 4 valeurs différentes (Rouge, Bleu, Jaune ou vert).

Je voudrais donc créer 4 nouvelles colonnes pour y reporter cette information et éliminer les doublons.

L'exemple ci - joint sera peut être plus parlant (voir feuille "Avant" et "Après").

La suppression des doublons est un sujet récurent ici mais je n'ai pas trouvé d'exemple qui colle à mon cas.

Auriez - vous une idée de la manière dont il faut procéder ?

Je vous remercie par avance de votre aide.
 

Pièces jointes

  • Test doublons.xls
    17 KB · Affichages: 37
  • Test doublons.xls
    17 KB · Affichages: 42
  • Test doublons.xls
    17 KB · Affichages: 41

ERIC S

XLDnaute Barbatruc
Re : Report des informations des doublons

Bonjour

si c'est à faire une fois, en manuel :

en G on va regarder si c'est la première occurence du N° , en G2 et on tire:

=NB.SI($A$1:A2;A2)=1

en H1 on met Bleu, en I1 rouge ...

en H2 (j'ai supposé que le tableau s'arrête avant la ligne 2000

=SI((NB.SI($A$1:$A2;$A2)=1)*SOMMEPROD(($A2=$A$2:$A$2000)*(H$1=$F$2:$F$2000))=1;"X";"")

on tire en bas et à droite
on sélectionne tout copier collage spécial valeurs

on trie en fonction de G (critère vrai)
on supprime toutes les lignes à Faux
 

Misange

XLDnaute Barbatruc
Re : Report des informations des doublons

Bonjour

avec un petit tableau croisé dynamique je pense qu'on obtient ce que tu souhaites
 

Pièces jointes

  • Copie de Test doublons.xls
    27.5 KB · Affichages: 32
  • Copie de Test doublons.xls
    27.5 KB · Affichages: 39
  • Copie de Test doublons.xls
    27.5 KB · Affichages: 33

Troudz

XLDnaute Occasionnel
Re : Report des informations des doublons

Bon sang mais vous avez l'esprit vif dès les premières heures (minutes ?) de la journée !

Merci Misange, Eric S et mapomme pour votre précieuse aide.

Je ne pensais pas que vous résoudriez ceci via des formules. Etant donné que cette liste doit être retraitée toutes les semaines et par diverses personnes je vais devoir passer par une macro. Je n'avais effectivement pas penser à le préciser.

Je vais essayer de m'inspirer de vos réponses pour la créer.
 

Misange

XLDnaute Barbatruc
Re : Report des informations des doublons

Si tu passes par un tableau croisé dynamique, tu n'as aucune formule ni aucune macro à écrire, POur le créer tu fais juste glisser des étiquettes et pour l'actualiser il te suffit de cliquer sur le bouton adhoc... Teste cette solution. Si tu as besoin d'infos sur cet outil indispensable d'excel n'hésite pas.
 

Troudz

XLDnaute Occasionnel
Re : Report des informations des doublons

C'est très gentil et louable de ta part de me préciser tout ça Misange.
Pour m'être pris la tête dessus à de nombreuses reprises, je suis bien conscient de l'utilité des TCD mais je ne peux pas vraiment m'en servir dans le cas présent, je dois absolument passer par Vba.

Pour expliquer le fonctionnement de mon appli, chaque semaine, l'utilisateur va importer une liste mise à jour dans mon application via un getOpenFileName. La procédure que je recherche va alors retraiter les doublons.

Une fois cette opération effectuée, les utilisateurs disposeront d'un "moteur de recherche" pour retrouver toutes les infos sur les personnes présentes dans cette liste.

On m'a demandé de concevoir cet outil pour des utilisateur "extrêmement novices". J'essaye donc de leur présenter une interface très simple et leur faire faire le moins d'opérations possibles.

Mais je te remercie une nouvelle fois pour tes précieux conseils éclairés
 

ERIC S

XLDnaute Barbatruc
Re : Report des informations des doublons

Bonjour

un code, transposition de ma manip manuelle, donc peut-être plus facile à comprendre, maintenir et faire évoluer

Code:
Sub compilation()
'volontairement écrit comme une automatisation de ce qui se fait à la main
    Range("G:M").ClearContents
'dernière ligne liste
    derligne = Range("A" & Rows.Count).End(xlUp).Row
'intitulés
    Range("G1").Value = "Bleu"
    Range("H1").Value = "Rouge"
    Range("I1").Value = "Vert"
    Range("J1").Value = "Jaune"
'formules colonnes G à J tirées jusqu'à la dernière ligne
    Range("G2:J" & derligne).FormulaR1C1 = _
        "=IF((COUNTIF(R1C1:RC1,RC1)=1)*SUMPRODUCT((RC1=R2C1:R" & derligne & "C1)*(R1C=R2C6:R" & derligne & "C6))=1,""X"","""")"
    Range("K2:K" & derligne).FormulaR1C1 = "=(COUNTIF(R1C1:RC1,RC1)=1)"
'suppression des lignes doublons
    For i = derligne To 2 Step -1
        If UCase(Range("K" & i).Value) = "FAUX" Then
            Rows(i).Delete
        End If
    Next
'remplacement des formules par les valeurs
    Columns("G:J").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
'suppression des colonnes intermédiaires
    Columns("F:F").Select
    Selection.Delete Shift:=xlToLeft
    Columns("J:J").Select
    Selection.Delete Shift:=xlToLeft
    Range("J1").Select
End Sub
 

Efgé

XLDnaute Barbatruc
Re : Report des informations des doublons

Bonjour Troudz, Bonjour le fil, Comme j'ai fait quelque chose, je le poste. Le code est dans le bouton mais il est prévu pour être utilisé n'importe où. Cordialement
 

Pièces jointes

  • Test_doublons_code.xls
    30 KB · Affichages: 63

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 166
Membres
103 151
dernier inscrit
nassim