Fusionner plus formules en 1

Bonjour

Aide fiabilisation tiers_2nd_envoi.xlsx (19,4 Ko)

J’ai un fichier qui possède des données qualifiées par un fournisseur X et qui sont comparées avec le référentiel tiers d’une application Y. Force est de constater que nous avons des doublons de codes tiers de par leur siret.

Il me faut pouvoir mettre en avant parmi les doublons de siret, ceux qui seront Maitre et ceux qui seront considérés comme doublon.

On a commencé à m’aider mais on m’a laissé tomber faute de temps. Snif snif

Je sollicite à nouveau chez experts excel en espérant que vous aurez un peu de temps à m’accorder.

Voilà ce que je cherche à mettre en langage Excel

Règles

1 Si un même siret existe plus d’une fois dans la colonne C (SIRET2) alors le maitre est celui qui possède ce même SIRET dans la colonne B (SIRET1)

1 BIS : Si un même siret existe plus d’une fois dans la colonne C (SIRET2) et que ce même siret existe plusieurs fois dans la colonne SIRET 1 alors le maitre est celui qui possède le code source le plus petit colonne A

2 Si aucun ne possède le même siret dans la colonne B (SIRET1) alors c’est celui qui possède le code source le plus petit (colonne A) qui devient maitre.

3 Les maitres doivent avoir la valeur « Maitre » dans la colonne D(MAITRE/DOUBLON) les autres doivent avoir la valeur « Doublon ».


Lors de la réponse m’a été donné les formules suivantes :

Règle 1

=SI(NB.SI($B$3:$B$5;C3)>0;SI(B3<>C3;« Doublon »;« Maitre »);SI(SOMMEPROD(MIN(CNUM(A$3:A$5))*1)<>CNUM(A3);« Doublon »;« Maitre »))

Règle 1 bis

=SI(NB.SI($B$3:$B$5;C15)>0;SI(B15<>C15;« Doublon »;SI(SOMMEPROD(MIN(CNUM(A$3:A$5))*1)<>CNUM(A15);« Doublon »;« Maitre »));SI(SOMMEPROD(MIN(CNUM(A$3:A$5))*1)<>CNUM(A15);« Doublon »;« Maitre »))

Règle 2

=SI(NB.SI($B$9:$B$11;C9)>0;SI(B9<>C9;« Doublon »;« Maitre »);SI(SOMMEPROD(MIN(CNUM(A$9:A$11))*1)<>CNUM(A9);« Doublon »;« Maitre »))

Le résultat est ok par cas unitaire ( voir onglet 1 )

Cependant il me faut une formule qui regroupe ces cas en une seule car le fichier contiendra plus de 150 000 lignes et doit pouvoir mettre en avant les maitres/doublon selon ces différents cas de gestion.

Auriez-vous une idée pour rassembler ces dernières ?

Onglet global, regroupe tous les cas possibles et le résultat attendu.

Merci beaucoup car je suis vraiment bloquée et ca commence à devenir plus que urgent.

Par avance un grand merci.

Bonjour

Je te propose une solution VBA

Cliques sur le bouton « Traitement » onglet "global "

En cellule M2 le numéro de la première ligne à traiter

Si le résultat est immédiat pour 9 lignes pour 150 000 lignes il faudra certainement être patient

C’est à tester

Attention fichier de type « .xlsm » nécessaire pour le fonctionnement VBA à maintenir impérativement

Fais moi un retour

Aide fiabilisation tiers_2nd_envoi.xlsm (32,0 Ko)

Bonjour FFO
C’est bien joué, car je n’avais pas envie de mettre mon cerveau là-dedans
mais dis moi si cela est une erreur d’après ce que j’ai compris à la demande

A la fin de ton résultat, je pense que la réponse en ligne 12 devrait être « Doublon » vu que le Siret 2 est déja présent dans les 3 premières lignes avec une correspondance en ligne 2 pour le Siret 1

Au cas où, il faudrait faire un tri sur la colonne des Siret 2 pour la correction

En tout cas Chapeau bas :ok_hand:

Bonjour Mimimathy

Que d’honneur moi qui suis toujours en admiration de tes propositions !!!
Merci je ne mérite pas tant
Je fais ce que je peux avec mes maigres moyens

Pour ta remarque ligne 12

Lorsque il n’y a pas dans toutes les lignes au même Sitet2 colonne C d’équivalence en siret1 colonne B c’est le plus petit code source colonne A qui devient Maitre les autres Doublon donc en l’occurrence pour le groupe de la ligne 12 (ligne 10/11/12) c’est celui de cette ligne le plus petit donc le Maitre les 2 autres Doublon

Encore merci pour ton commentaire élogieux

Bonjour FFO,

Je te remercie beaucoup pour le travail entrepris !!!
Ça me retire une belle épine du pied
Ca donne envie d’après le langage VBA. :slight_smile: :yum:

En tout cas merci beaucoup et je me rejoins à Mimimathy, bravo pour cette proposition, et non ce n’est pas de maigres moyens, c’est extra cette facilité à concevoir!

Belle compétence !

Merci encore et c’est pas si long que cela avec full des tiers.

Belle journée !!

Merci merci
Mais j’ai malgré ce que tu peux dire beaucoup de lacune et souvent je laisse répondre d’autres interlocuteurs car n’étant pas à la hauteur de la demande
Je me contente de ce que je connais et maitrise
En VBA pas de soucis mais bien incapable de te fournir l’équivalent en formule
J’espère simplement que pour 120 000 lignes ta patience ne sera pas mise à rude épreuves

Donnes des nouvelles

Valides ma réponse c’est un plus agréable

Au plaisir de te lire