Recherche de Doublons avec condition particuliere
Bonjour à tous,
J'ai un fichier dans lequel je dois rechercher des lignes en fonction des valeurs qu'elle contiennent.
La donnée la plus importante se trouve dans la colonne Quantité
La colonne B contient des doublons présent dans cette même colonne
La colonne C contient également des doublons dans cette même colonne
J'aimerais dans la cellule A de la ligne dont la valeur n'est pas égale à 0 dans la colonne D faire apparaitre le chiffre "1"
j'aimerais également faire apparaitre le chiffre "1"dans la cellule A de la ligne qui contient en A ou en B un doublon avec ma ligne ci-dessus.
Ce n'est pas facile à expliquer donc je joins deux fichier L'original, et un qui illustre le résultat que j'aimerais obtenir....
Merci d'avance pour votre aide.
Bonjour et bienvenue sur le forum
Un essai à tester. Te convient-il ?
N’y a t-il pas contradiction entre ton exemple de résultat, à la ligne 12, et ton hypothèse qui dit :
?dans la cellule A de la ligne dont la valeur n'est pas égale à 0 dans la colonne D faire apparaitre le chiffre "1"
Bye !
Hello,
Merci GMB pour ton aide.
Cela fonctionne parfaitement pour les doublons de de la colonne C.
Une information importante que j'ai oublié de mentionner... les doublons peuvent parfois au nombre de 3, ou 4...
Je ne pense pas qu'il y ai d'erreur dans mon énoncé, car dans le cas de la ligne 12, le doublon se trouve en colonne B (réf 697049 en B12 et B13.
En fait il peut dans ce fichier avoir des doublons Soit en colonne B soit en colonne C.
cela parait être un problème bébête, mais ce n'est pas évident a expliquer. je dois faire une opération de maintenance sur plus de 50 fichiers de la sorte qui contiennent dans certains cas plus de 300 lignes, et cela chaque semaine. D'où le fait de vouloir me faciliter un peu la vie... malheureusement je ne connais pas le VB...
Ton code est un excellent début, malheureusement dans le cas de multi-doublons cela ne fonctionne pas, ainsi que pour les doublons de la colonne B.
Je re-joins le fichier adapté, avec ton code, j'ai indiqué dans la colonne A des commentaires...
Merci d'avance pour le temps consacré..
J'avoue avoir du mal à trouver ton résultat.
Pourquoi n'y a -t-il pas de 1 en A2 et A3 puisque les cellules C2 et C3 ont la même valeur : 83532061039 ?
Et pourquoi n'y a t-il pas un 1 au moins en C3 puisque D3 est une cellule vide, donc différente de 0 ?
Faut-il ignorer les lignes pour lesquelles la valeur en D est vide ?
Je ne dois pas bien saisir les hypothèses...
Bye !
Hello gmb,
En fait j'avoue avoir du mal a exprimer réellement ce que je veux exactement,
je vais essayer a nouveau: je vais d'abord décrire le contexte je pense que cela peut aider à comprendre mieux:
il s'agit d'un fichier articles extrait de bases de données communes entre plusieurs magasins. Dans ce fichier sont listés tous les articles qui sont en conflits (doublons) de références (soit colonne B code article, soit colonne C code EAN)
ce qui m'importe est de connaître ces conflits pour les articles ayant connu un mouvement de stock (colonne D)
Dans le fichier le fait des mettre des "1" dans la colonne A me permet d'isoler tous mes articles en conflits pour les quel il y à déjà eu un mouvement de stock.
ce qui peut se traduire par:
condition 1: Je dois mettre un "1" en A de la ligne dont D est diffèrent de 0 (en sachant que "vide" est compris comme 0)
condition 2: je dois aussi mettre un "1" en A des lignes qui comportent un doublon (trilpe, quadruple..) de ma première condition: les doublons se trouvent en B ou en C
est ce plus clair pour toi?
Donc pour répondre à tes questions:
C2 et C3 sont bien des doublons, mais ils n'ont pas connu de mouvement de stock: il ne m'intéressent donc pas.
Pas de 1 en A3 car D3 est une cellule vide, et je considère les "vide" comme étant 0. (il n'y a jamais eu de mouvement de stock)
c'est très gentil de te creuser la tète pour moi! (j'avoue que ce sera très utile, car j'ai regardé de plus près; j'ai 40 fichiers à traiter dont certains comporte 900 lignes
Merci encore.
Bonjour !
Formule en A2 : =SI(SOMME.SI($B$2:$B$13;B2;$D$2:$D$13)+SOMME.SI($C$2:$C$13;C2;$D$2:$D$13)<>0;1;"")
Puis la recopier vers le bas …