Excel VBA - Supprimer les doublons de plusieurs fichiers

Bonjour,

Voila ce que j'aimerais faire en VBA : J'ai plusieurs fichiers dans un dossier, j'aimerais supprimer les doublons automatiquement, par exemple, dans le fichier "COLLARD_GILBERT_28_12" la colonne S1 est remplie, mais dans le fichier "COLLARD_GILBERT_24_12" la colonne S1 est également remplie, ce qui fait doublon.

PS : Dans le dossier, il y a plusieurs noms différents, si la colonne S1 est remplie pour deux fichiers avec deux noms différents, ce n'est pas comptabilisé comme un doublon.

Salut,

Est-ce que les fichiers à comparer commencent tous pas les mêmes noms et prénoms ?

Jusqu'à combien de fichiers à comparer peut-il y avoir pour la même personne ?

Il faut supprimer les doublons, mais quels sont les données à conserver, lesquelles à effacer ? Les données en doublon de tous fichiers les plus anciens sont a effacer ? Par exemple, en E4 du fichier du 28 il y a ''2'' de même qu'en E4 du fichier du 24 : il faut donc effacer la donnée en E4 du fichier du 24 ?

Depuis où veux-tu démarrer ce travail ? Si tu as plusieurs personnes à passer en revue, il serait peut-être utile d'avoir la macro dans un fichier autre et que tu puisses - d'une manière ou d'une autre - indiquer les fichiers de la personne que tu veux traiter.

A te relire.

Bonjour, dans le dossier, il y a différents noms/prénoms, il faudrait comparer chaque fichiers contenant les mêmes noms/prénoms. Pour une même personne, il peut y avoir jusqu'à une cinquantaine. J'ai oublié de le mentionner, mais il faudrait, si possible, supprimer les doublons sur le fichier le plus récent.

L'objectif serait d'avoir quelque chose comme un Private Sub Workbook_Open, quand un fichier s'ouvre, il regarde si il y a des doublons.

Mais je t'en prie, c'est tout naturel que je t'offre mon aide gratuitement. C'est plutôt à moi de te remercier d'avoir posé ta question.

Lors de ta demande du 5 novembre, j'ai fait tout un travail et tu m'as dit finalement que tes fichiers n'étaient pas nommés tel que tu l'avais tout d'abord dit. On a dû refaire toute une partie inutile. J'ai donc considéré que tes fichiers actuels sont bien nommés comme ils l'étaient lors de notre dernière discussion. Le fait d'avoir la date complète permet également de traiter correctement - si nécessaire - des fichiers à cheval sur deux années.

Afin de répondre à ta demande, j'ai placé un code dans ThisWorkbook, pour l'évènement Open. Si tu as une configuration comme ci-dessous, mon code fonctionne bien :

capture

C'est à dire que tu peux avoir des fichiers pour d'autres noms mais également des fichiers autres.

Ma macro doit être placée dans des fichiers .xlsm, c'est à dire que tu dois placer ce code dans chacun des derniers fichiers de chaque personne et les transformer en .xlsm si ce n'est pas déjà le cas. Par contre tous les fichiers du dossiers sont visités, quel que soit leur extension.

Ca aurait été un avantage d'avoir un fichier avec un macro qui fonctionne pour tous les noms - comme je te l'avais proposé - mais avec ton idée, une fois le dernier fichier transformé en .xlsm, avec sa macro, ça fonctionnera dans le futur. A condition bien entendu d'effectuer une copie .xlsm du dernier fichier et non pas en créant les nouveaux fichiers sur une autre base,.

Si tu as réellement jusqu'à 50 fichiers pour une seule personne, ça risque de mouliner terriblement. Je te laisse faire des essais à ce sujet (peut-être d'abord pour 10 fichiers, puis plus). Si ça prend vraiment trop de temps, on devra trouver une manière de ne visiter que l'avant-dernier fichier pour cette personne (d'où l'importance de la date complète). Comme cet avant-dernier fichier aurait été ''nettoyé'' au préalable, il n'y aurait plus de raison de repasser en revue tous les fichiers antérieurs.

Dans le fichier du 24 pour Collard, j'ai placé des données spécifiques dans les colonnes de S1 et S40 et dans le fichier du 26, des données dans la colonne de S2.

Ces données - si en place dans le fichier du 28 - sont effacées sans pitié lors de son ouverture. Pour faire tes propres essais, tu peux inscrire des nouvelles données dans les colonnes S1, S2 et S40 par l'intermédiaire du bouton en place. Une fois le fichier du 28 enregistré, fermé et à nouveau ouvert, elles auront disparu.

Cordialement.

Merci, c'est la solution, très bien, bonne soirée, bonne année.

Rechercher des sujets similaires à "vba supprimer doublons fichiers"