Comparer deux listes Excel pas même données

Bonjour,

Excusez-moi concernant le titre du POST qui a surement était déjà posté.

J'aurais besoin d'aide.

Je cherche à comparer deux listes Excel (deux feuilles de calcul Excel) dont le nombre de colonnes n'est pas identique, ni même les informations qu'elles contiennent .

J'ai cependant la possibilité de faire des rapprochements grâce à deux ou trois colonnes identiques (notamment nom, prénom et Numéro de Sécurité Sociale).

Ainsi, dans l'idéal il faudrait qu'une formule de calcul me permette de trouver les personnes qui ne sont pas dans l'une ou l'autre des listes et les faire resortir, idéalement au sein d'un troisième onglet/feuille.

J'ai mis un exemple en fichier attaché.

Par avance, merci pour votre aide

152test.zip (4.14 Ko)

Bonjour et bienvenue,

On doit pouvoir faire mieux en utilisant des tableaux, mais je ne maitrise pas !

ici, on concatène les noms et prénoms pour comparer (en colonne "A" insérée)

Les 2 feuilles doivent être placées en 1er dans les onglets,

voir feuille "Résultat"

Amicalement

Claude

Bonjour,

Tout d'abord merci de votre réponse.

C'est à peu prés le résultat que je souhaité donc merci beaucoup..

A priori on peut appliquer le même genre de formule sur le numéro NIR?

D'autre part, pourrais-je appliquer la macro dans une feuille ou il y aurait davantage de colonne?

Pouvez-vous m'indiquer (et m'expliquer si possible et si vous avez le temps) comment vous avez procédé?

Par avance, merci de votre précieuse aide,

Bonsoir à tous,

A priori on peut appliquer le même genre de formule sur le numéro NIR?

Oui on pourrait, mais peux-tu garantir cette colonne (format de cellule, orthographe) ? J'en doute !

cela éviterait d'avoir à concaténer nom et prénom.

pourrais-je appliquer la macro dans une feuille ou il y aurait davantage de colonne?

Sans problème, il faudrait la structure réelle des 2 feuilles afin de régler la macro.

Pouvez-vous m'indiquer (et m'expliquer si possible et si vous avez le temps) comment vous avez procédé?

En gros, ici je balaye la colonne nom/prénom concaténée,

si n'existe pas dans l'autre feuille, on recopie la ligne dans "Résultat"

Pareil sur les 2 feuilles.

ci-joint, une autre méfhode beaucoup + rapide avec filtres élaborés sur le numéro NIR

envoie la structure réelle des 2 feuilles pour affiner.

Sub CompareFiltre() 'Attention à l'orthographe des noms fichiers
Dim Lg&, f1 As Worksheet, f2 As Worksheet
    Application.ScreenUpdating = False
        Set f1 = Sheets("1 fichier")
        Set f2 = Sheets("2 eme fichier")
    With Sheets("Résultat")
        .Cells.Clear
        '--- 1er filtre Présent sur Feuille 1 mais pas sur feuille 2 ---
        .Range("a1") = "Présent sur Feuille 1 mais pas sur feuille 2"
        .Range("a1").Resize(1, 7).Interior.ColorIndex = 8
        f1.Rows(1).Copy Destination:=.Range("a2")                           'en-têtes
        .Range("o2") = "=COUNTIF('2 eme fichier'!g:g,'1 fichier'!e2)=0"     'critère
        f1.Range("a1:g" & f1.[a65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
        .Range("o1:o2"), CopyToRange:=.Range("a2:e2"), Unique:=False

        '--- 2ème filtre Présent sur Feuille 2 mais pas sur feuille 1 ---
        Lg = Range("a" & Rows.Count).End(xlUp).Row + 2
        .Range("a" & Lg) = "Présent sur Feuille 2 mais pas sur feuille 1"
        .Range("a" & Lg).Resize(1, 7).Interior.ColorIndex = 8
        f2.Rows(1).Copy Destination:=.Range("a" & Lg + 1)                   'en-têtes
        .Range("o2") = "=COUNTIF('1 fichier'!e:e,'2 eme fichier'!g2)=0"     'critère
        f2.Range("a1:g" & f2.[a65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
        .Range("o1:o2"), CopyToRange:=.Range("a" & Lg + 1 & ":g" & Lg + 1), Unique:=False
        .Range("o2").Clear
    End With
End Sub

Bonne soirée

Claude

Merci Claude;

J'ai travaillé un peu sur les tableaux, voici ce à quoi je pourrais aboutir (le nombre de colonnes en resterait là)

Pour les numéros NIR on pourrait faire un STXT pour prendre le numéro sans la clé qui est parfois manquante.

Peut-on imaginer un double contrôle? par le numéro NIR et par le concatener nom et prénom? (potentiellement mettre les réponses où il reste un doute dans un onglet spécial ou en suivant le même principe que pour les deux autres)

D'autre part, l'intitulé des colonnes peut-il varier je pense notamment à la colonne NIR qui pourrait se nommer numéro de sécurité sociale par exemple. De même, l'ordre des colonnes est-il important?

Par avance, merci

88test-2.zip (5.86 Ko)

Bonsoir,

ici, on compare les NIR ou N° Sécurité Sociale

j'ai volontairement formaté différemment les N° de Dupont Charles

voir sur feuille "Demande" la formule utilisée pour les rendre identiques (11 premiers caractères sans clé)

cela rend la comparaison possible.

J'utilise la colonne "X" pour cette formule

Normalement, l'ordre des colonnes n'a pas d'importance sauf ici la "D" (à cause de la formule)

si besoin, on peut l'adapter.

C'est pourquoi je demandais la structure réelle des 2 feuilles (brutes avant que tu ne les bricole)

Tu peux encore ajouter 3 colonnes (jusqu'à W)

Amicalement

Claude

Bonjour,

Tout d'abord merci pour la macro.

Je ne pense plus ajouter de colonne, ni même modifier celles existantes.

En revanche, penses-tu qu'un double contrôle par le NIR (déjà ok) et par un concatener nom prénom puisse être possible (avec possibilité de répertorier les éventuels conflits (NIR correspondant mais nom prénom non identique ou vice versa) soit dans une nouvelle feuille soit dans une troisième partie de la feuille résultat?)

Et ceux afin de palier à un éventuel problème au niveau des numéros de sécurité sociale.

Par avance, merci de ton aide précieuse.

Bonsoir,

ici, on compare donc les 2 critères

1) nom/prénom concaténés (sans espaces superflus)

2) NIR ou N° sécurité sociale (remanié sans clé)

voir feuille 2, "Demarchais" où j'ai mis plusieurs variantes possibles

Pour ma gouverne j'ai ajouté un chrono, tu nous diras le temps de traitement du fichier réel

avec le nombre de lignes des 3 feuilles (environ)

Amicalement

Claude

Bonjour,

Je pense que la possibilité de classer les cas litigieux (numéro de NIR identique mais nom prénom différent ou l'inverse) dans un troisième espace (4 feuille ou troisième sous catégorie dans feuille 3) est complexe à mettre en place.

Si cela est le cas je testerai la macro tel quelle est (ce qui est déjà parfait) dans les prochains jours.

Je te tiens au courant concernant le chrono.

Merci en tout cas de la macro.

Bonjour à tous,

Pour Claude, concernant la comparaison il faut 1 secondes pour comparer 1500 lignes par fichier.

Merci pour tout,

A bientôt,

Bonjour,

N'oublie pas la petite formalité

a resolu3
Rechercher des sujets similaires à "comparer deux listes pas meme donnees"