Détecteur des doublons et ajout caractère au changement d’une autre valeur

6doublons-vba.xlsm (18.09 Ko)

Bonjour le forum,

Pourriez-vous s’il vous plait m’aider à améliorer ma macro qui détecte les valeurs en double et ajoute à la deuxième valeur doublon un caractère (.bis)

Mon amélioration se porte sur le faite si j’ajoute deux ou plusieurs références identiques dans la même date, la macro ne doit s’appliquer que si la date change

exemple :

doub exmp

La colonne C12 ne doit pas prendre le caractère .bis car la date est de même jour

mon fichier Excel avec le code ci joint, je vous remercie d'avance pour vos support

Bonjour,

Une idée serait d'appliquer votre code sur une base déjà "nettoyée" de ces doublons "date&référence".

Une façon de faire serait de reprendre votre code pour, au préalable, détecter les doublons date&référence et mémoriser leurs numéros de lignes dans un array par exemple.

Ensuite, vous pourriez alors ré-appliquer le code initial et simplement sauter ces lignes là.

Probablement pas la solution la plus optimisée, mais déjà, ça permettrait de faire le travail.

A vous lire

Merci @Fatos pour votre message, mais pour le code il fonctionne très bien le seul souci c'est quand deux références répétées ont la même date

je pense qu'il faut juste ajouter une condition ; si la référence i-1 égale la référence i et que la date de i-1 égale i alors pas de changement

Vos données sont forcément triées sur la colonne "date" ?

Dans ce cas, en effet, votre proposition doit fonctionner.

Il suffit d'ajouter un tb2 pour récupérer les dates, et une condition supplémentaire lorsque vous êtes dans le cas où "dico.exists(valeur)" est vraie.

EDIT : attention, votre boucle démarre à 4 au lieu de 5

Je n'arrive pas à trouver la combinaison exacte

quelqu'un peut m'aider !

quelqu'un peut m'aider !

Vous pourriez commencer par répondre à la question posée par la personne qui essaie de vous aider..

En supposant que vos données sont forcément triées par la colonne date, vous trouverez en PJ une variante du code initial pour intégrer votre solution.

Salut Fatos, désolé je n'ai pas fait attention à votre question

normalement les dates sont triées car la saisie est chronologique

j'ai vu ton code, il est bien merci

mais il manque un truc

c'est que si une référence déjà existe et ressaisie une autrefois alors pour la deuxième doit aussi prendre .bis

image

Pas de problème.

Du coup, j'ai rajouté un second dictionnaire qui mémorise les références qui auraient été précédemment ignorées (car doublons de même date) de sorte que la prochaine fois qu'on retombe dessus, on lui applique le ".bis".

Merci de confirmer que cela répond à votre demande.

Merci Fatos, mais y a pas un moyen de rendre le dictionnaire sur des valeurs infinies

car il se limite sur deuxième

sinon sur un intervalle de 5 par exemple

merci encore une fois !

image

Bonjour Niba,

Voici une nouvelle version en espérant avoir compris votre commentaire.

Dites moi si cela répond à la demande.

Bonsoir Fatos,

ca marche parfaitement, je vous remercie vivement

Rechercher des sujets similaires à "detecteur doublons ajout caractere changement valeur"