Optmisation copie de donnée
Bonjour,
Etant débutant en Excel, je demande votre aide afin d'améliorer mon fichier.
J'ai un fichier principal "Historique adhérents UISLHGKF.xls" dans lequel je mets à jour les informations pour des adhérents de mon association : feuille "Historique_Adhérent UISLHGKF".
J'ai un fichier secondaire "Fichier type_Liste adhérents club.xls" qui est rempli par d'autres écoles qui me l'envoie pour que je mette à jour mon fichier principal.
Dans les 2 fichiers : la donnée unique est "nom et prénom" pour chaque adhérent.
Pour le moment, dans mon fichier principal "Historique adhérents UISLHGKF.xls", j'ai mis des formules "recherchev" (dans les colonnes qui m'intéressent : de B à K) afin de rechercher dans le fichier seccondaire si "nom et prénom" existe et dans ce cas copier la valeur.
Mais j'ai un problème dans mon fichier secondaire : pour les colonnes F et G : "club" et "date entrée club" => en effet, un adhérent peut passer par plusieurs clubs : du coup dans mon fichier principal j'ai mis les colonnes de N à S : Club 1, 2 , 3 avec les dates d'entrée => je ne peux donc pas facilement utiliser la formule "recherchev" dans ce cas.
Don par exemple : pour "Lamaison Jean", dans mon fichier priincipal il était rentré à Marseille en janvier 1950 => dans mon fichier secondaire, cette même personne est rentrée plus tard dans un 2ème club "Lyon" en septembre 2005 => il faut donc que dans mon fichier principal, le club 1 (Marseille soit gardée) et que Lyon soit mis en "clus 2"
En parallèle, J'ai fait une macro (D- doublon liste adhérent) qui recherche si "nom et prénom" du fichier secondaire existe dans mon fichier principal et si non copie => cette macro ne marche...
=> en effet ce sont les autres écoles qui me donne l'information des nouveaux adhérents que je n'ai pas dans mon fichier principal => par exemple : dans mon fichier secondaire : j'ai 2 nouvelles personnes "nouveau 1 et 2" => il faut donc rentrer ces personnes dans mon fichier principal.
=> Je rencontre donc des difficulté et je demande votre aide pour simplifier tout cela : j'ai besoin d'utiliser une macro au lieu d'incorporer des formules dans mon fichier principal "Historique adhérents UISLHGKF.xls" : en effet, j'ai déjà rempli des informations dans mon fichier principal et ne voudrais pas les perdre.
D'autre part si dans mon fichier principal j'ai une valeur et que dans mon fichier secondaire je n'ai rien (un vide "blank") => alors la valeur présente ne doit pas être écrasée par le "Blank".
Par contre une valeur existante dans les 2 fichiers => la valeur peut être écrasée par celle du fichier secondaire.
Je vous remercie par avance de votre aide.
PS : Ci-joints les 2 fichiers
Bonsoir meldryn
Voici un premier jet d'un code qui devrait te permettre une mise à jour correcte
Nota : il faut que les entêtes des 2 fichiers est une dénomination identique
A+
Merci beaucoup BrunoM45 !
Il y a juste une chose : quand je mets à jour les infos du club
=> Exemple : si dans mon fichier principal (Historique adhérent) pour un adhérent, s'il est déjà passer dans un club à une date ancienne (exemple Lyon : 01/01/1900) => dans la colonne Club1 = Lyon et la colonne date d'entrée club1 = 01/01/1900).
Maintenant si dans mon fichier secondaire (Fichier type liste adhérent), ce même adhérent a changé de club : exemple Marseille : 06/06/2000 => si je fais la mise à jour => les nouvelles informations Marseille : 06/06/2000 vont écraser dans mon fichier principal Club1 et date entrée Club1
=> alors que ce que je souhaiterais c'est que les nouvelles informations s'incrémentent et aillent dans les colonnes Club2 et Date entrée Club2 => il faudrait une comparaison suivant la date et décaler en fonction des dates dans les colonnes Club1,2,3 => qui est Club1 étant pour la date la plus ancienne.
Pour info : il se peut que dans mon fichier principal : je manque d'info pour un club et que par exemple dans Club1 => la date est plus récente que dans mon fichier secondaire => exemple : Club1 et date entrée Club1 = Marseille : 06/06/2000 et dans le fichier secondaire : Club = Lyon : 01/01/1950 => il faudrait donc dans le fichier principal inserer dans club1 = Lyon : 01/01/1950 et décaler Marseille : 06/06/2000 en club2.
Merci beaucoup pour ton aide !