Bonjour !
Je suis confrontée à un besoin avec Excel que je n'ai pas les compétences pour résoudre, car je ne suis pas développeur professionnel et je ne sais pas programmer avec VBA (je suis capable de copier/coller intelligemment des propositions, et d'adapter les formules). Si ma demande est déplacée, merci de ne pas vous énerver contre moi et si possible de m'indiquer où je peux trouver.
Je suis professeur (dans le secondaire) et je cherche un moyen d'évaluer mes élèves par compétences, en attribuant des scores pour chaque compétence. Je crée (à l'aide d'un .xlt) un classeur .xls par évaluation, dans lequel une macro (trouvée ici http://www.gcexcel.com/creer-des-feu...lon-un-modele/) me crée un onglet par élève en suivant un tableau modèle. Jusque là pas de problème.
Le problème c'est que du coup, les résultats de chaque élève sont sur des onglets différents. Je voudrais donc les rapatrier sur un même onglet. Ils apparaissent toujours dans les mêmes cellules (M26 pour la note sur 20 et D7 à J7 pour les scores par compétences). En d'autres termes, je veux obtenir sur la feuille 1 le résultat qui apparait sur la capture d'écran ci-jointe (pour laquelle j'ai travaillé à la main). Je voudrais automatiser le processus, via une macro.
Je sais que je peux passer par l'enregistreur de macro mais je voudrais éviter d'avoir à enregistrer en dur, dans la macro, le nom des élèves (= le nom des onglets).
J'ai donc deux questions :
- Dans la fonction ='ABRICOT Jean'!M26, comment remplacer 'ABRICOT Jean' par une variable qui récupère le nom de l'onglet (contenu dans la cellule de la colonne A)
- Comment coder la boucle pour éviter une multiplication de lignes (à laquelle je me résoudrais si c'est trop compliqué pour moi, je rappelle que je ne sais pas coder...)
Merci d'avance à ceux qui pourront me rendre ce service.
Marie-Hélène
Partager