Bonjour à tous,
Je dispose de plusieurs fichiers sur les lesquels j'effectue des traitements de données. Je bloque à une dernière étape dans la mise au point de l'application VBA.
Je vous ai fait exposé le problème dans un fichier joint pour faciliter la compréhension.
Je voudrais supprimer les occurrences ou doublons. Pour cela, j'utilise la fonction :
workbooks(...).sheets(...).range("A1:D"&Rows.count).removeDuplicates Columns:=3
Cela fonctionne mais il y a 3 cas de figure. Je les ai représentés en couleur dans le fichier pour vous.
Voici l'algorithme :
Si 2 lignes avec 2 "Nom" identiques et 2 "UAI" identiques alors suppression doublons pour ne garder qu'une ligne (cas des lignes 23 à 26 et 29 à 31)
Si 2 lignes avec 2 "Nom" identiques et 2 "UAI" distincts alors suppression doublons pour garder 2 lignes avec les UAI distincts(cas des lignes 13 à 22)
Si 2 lignes avec 2 "Nom" distincts et 2 "UAI" identiques alors suppression doublons pour garder 2 lignes avec les noms distincts (cas des lignes 2, 3, 8, 9, 10, 12)
Il faut jouer sur le paramètres "Columns" mais j'aimerais que cela se fasse automatiquement.
J'ai essayé par imbrication de boucles mais cela augmente le temps d'exécution du programme VBA.
Je voudrais me passer des boucles d'où l'intérêt d'une fonction comme celle ci-dessus. Mais je n'ai pas encore trouvé la solution malgré mes efforts. J'essaie avec une boucle seulement mais je ne pense trouver.
Avez-vous une idée ?
Merci de votre aide...