Transfert de données d'un fichier Excel vers un autre sans lien logique
Bonjour à toutes et tous,
Je me permets de solliciter votre aide car je suis coincé dans une tâche extrêmement fastidieuse que je pense être solvable par des gens s'y connaissant en excel.
Voici la situation : je suis enseignant à l'université et j'ai, dans un de mes enseignements, un fichier de excel que j'utilise pour compiler toutes les notes obtenues par mes étudiants dans cette matière. La problématique est que la scolarité utilise un fichier excel qui n'est pas ordonné de la même façon. Pour répondre à la question pourquoi ne pas utiliser le même fichier que la scolarité : ils utilisent un fichier avec tous les étudiants alors que j'ai 5 groupes en cours. Je ne peux pas faire un simple copié/collé car l'ordre alphabétique n'est pas respecté ce qui rend la tâche longue.
Ma question : est-il possible de lier les deux fichiers - en effectuant quelques recherches j'ai pu voir qu'il semble que oui, de telle sorte que le fichier de notes de la scolarité récupèrent les notes de mon fichier et l'associé au bon étudiant?
J'espère avoir été assez claire, n'hésitez pas à me poser plus de questions.
Merci d'avance pour vos retours
Bonne journée
Ryan
Salut Ryan,
Si les deux fichiers ont des données semblables qui permettent le recoupement, il serait assez facile de réaliser ce que tu souhaites. Ca peut être les noms et prénoms ou, mieux, un numéro matricule unique, ou autre chose dans ce genre.
L'idée étant qu'une macro aille chercher dans le fichier cible les étudiants présents dans ton fichier source.
Mais ça peut partir un peu dans tous les sens. Ainsi, est-ce que tu as ces deux fichiers ouverts en même temps à l'écran ? Si non, envoies-tu tes données à une autre personne qui les lit afin de les inclure à son fichier ? Si non, peux-tu nous en dire un peu plus à ce sujet ?
Ensuite il serait bien – pour ne pas dire indispensable – d'avoir un modèle de ces deux fichiers avec quelques données exemples (3 ou 4 personnes suffiraient).
Cordialement.
Salut Yvouille,
Tout d'abord un grand merci pour ta réponse et ta réactivité.
Tu as tout à fait raison, il y a des numéros étudiants/noms/prénoms/date de naissance qui se retrouvent dans les deux fichiers.
Je ne comprends pas la question est-ce que j'ai les deux fichiers en même temps. Je peux les ouvrir en même temps oui, j'ai les deux fichiers à un moment donné. La scolarité m'envoie leur fichier excel et je copie, actuellement, à la main ligne par ligne d'un fichier vers l'autre.
Je te transmet les deux fichiers que l'on utilise : Notes CHEX3 est le fichier que l'on complète au fil des évaluations et Notes Scolarité est celui utilisé par la scolarité. J'ai juste laissé les prénoms pour la preuve de concept.
Bien cordialement
Si tu as la possibilité de travailler avec les deux fichiers ouverts à l'écran, c'est un peu plus facile.
Maintenant je présume que tu veux transférer des notes du fichier ''notes-chex3'' (fichier source) au fichier ''Notes-scolarité'' (fichier cible). Si ce n'est pas le cas, dis-le-moi.
Mais encore : quelles données du fichier source que tu veux transférer dans le fichier cible ? Soit très précis ! Indique par exemple : je voudrais transférer les données de la colonne X de la seule feuille du fichier source à la colonne Y de la feuille Z du fichier cible, puis les données .........
Tu as effacé les noms des étudiants et plusieurs prénoms identiques se trouve dans ce qui semble être le fichier cible. Sur quelle autre base peut-on faire le joint entre les deux fichiers ? Je ne vois pas réellement de numéro matricule !
A te relire.
Tout à fait juste concernant l'idée du fichier source/cible.
J'ai fait correspondre le nom des colonnes dans le fichier source (vert clair) avec le nom des onglets dans le fichier cible. Ce que j'aimerais effectuer c'est transférer les notes :
- colonne 6 (source) vers colonne 7 onglet exposé (cible)
- colonne 7 (source) vers colonne 7 onglet rapport (cible)
- colonne 8 (source) vers colonne 7 onglet examen final (cible)
- colonne 12 (source) vers colonne 7 onglet participation (cible)
Mea culpa pour les redondances avec les prénoms mais je ne pouvais vous transférer les numéros étudiants dans un soucis de confidentialité. Je me suis dit que une fois que j'aurais compris ce que vous avez indiqué dans le code de la macro, je n'aurais qu'à changer par numéro d'anonymat.
Je vous ai mis à jour les fichiers avec uniquement quelques prénoms qui ne sont pas en doublons.
Merci pour votre aide
Salut Ryan.
Tes fichiers ne sont pas utilisables car ils ne correspondent peu à ce qui semble être la réalité. J’ai donc créé deux fichiers qui me semblent plus corrects. Dans la réalité, il faut effectivement rechercher les étudiants sur la base de données uniques, comme les noms et prénoms ou numéros d’étudiant. Mais comme tu n’as pas laissé en place ces numéros d’étudiant (je ne vois pas de colonne ‘’ NÉtud’’ sur la ‘’Feuil1’’ du fichier source), j’ai choisi les noms et prénoms en espérant que deux personnes n’aient pas justement les mêmes nom et prénom ! Il serait encore possible de modifier la macro afin de travailler avec des numéros matricules si tu penses que c’est plus sur.
Puis lorsque tu lances la macro placée derrière le bouton mis en place sur la ’’Feuil1’’ de ton fichier source, une boîte de dialogue s’ouvre et tu peux rechercher et ouvrir le fichier cible. Je suis parti sur cette idée car j’imagine que ton fichier cible n’est pas toujours nommé identiquement et qu’il n’est donc pas possible d’inscrire son nom dans la macro. Si ce fichier cible est déjà ouvert au moment où tu le choisis dans ton arborescence à l’aide de cette boîte de dialogue, c’est peu important ; il est comme réouvert.
Immédiatement la macro transfert les notes d’un fichier à l’autre et c’est le fichier cible qui reste ouvert à l’écran à la fin du boulot, fichier cible qui est alors enregistré, prêt à être refermé.
Je suis parti du principe que dans les deux fichiers, les listes de noms commencent à la ligne 7, mais j’ai aussi considéré que les 4 feuilles dans lesquelles les données sont reportées sont triées identiquement, c’est-à-dire que si un étudiant est à la ligne 100 sur la feuille ‘’Rapport’’, il est à la ligne 100 sur les feuilles ‘’Exposé’’, ‘’Participation’’ et ‘’Examen final’’. Si ce n'est pas le cas, il faudra revoir la macro.
Si une personne présente dans le fichier source n’est pas trouvée dans le fichier cible, un message apparait (par exemple pour l’étudiate Vouavou Viviane).
Amicalement.
Salut Yvouille,
Un énorme merci pour tes explications et le travail que tu as fait. Je m'en vais tester tout ça.
Très belle journée à toi
Amicalement
Et alors, ça a donné le résultat souhaité ? Si oui, un dernier petit merci et indiquer ce fil comme résolu. Salutations.