[vba-excel]copier résultats dans tableau
Résolu
Bonjour,
je découvre la toute puissance de la macro sous excel 2003, mais son écriture m'est encore trop difficile pour m'en sortir seul (heures déjà passées à l'appui...)
J'espère que cela retiendra votre attention, et je vous en remercie par avance...
Un fichier : « saisie.xls »
Deux feuilles : « saisie » et « résultats »
La feuille « saisie » contient des cellules non contigues :
Cellule B16 : nom d'élève (à partir d'un menu déroulant existant)
Cellules B20, B22, B24 : données correspondantes de l'élève sélectionné en B16
La feuille « résultats » contient une série de colonnes, dont la première (A) contient la liste des noms de la classe, et les colonnes suivantes les données correspondant à chacun d'eux (ex : pour l'élève écrit en A5, les données correspondantes sont sur la même ligne : B5, C5, D5).
L'idée : créer une macro pour copier les résultats individuels élève par élève à partir de la feuille « saisie », vers le tableau de résultats de classe (feuille « résultats »).
je découvre la toute puissance de la macro sous excel 2003, mais son écriture m'est encore trop difficile pour m'en sortir seul (heures déjà passées à l'appui...)
J'espère que cela retiendra votre attention, et je vous en remercie par avance...
Un fichier : « saisie.xls »
Deux feuilles : « saisie » et « résultats »
La feuille « saisie » contient des cellules non contigues :
Cellule B16 : nom d'élève (à partir d'un menu déroulant existant)
Cellules B20, B22, B24 : données correspondantes de l'élève sélectionné en B16
La feuille « résultats » contient une série de colonnes, dont la première (A) contient la liste des noms de la classe, et les colonnes suivantes les données correspondant à chacun d'eux (ex : pour l'élève écrit en A5, les données correspondantes sont sur la même ligne : B5, C5, D5).
L'idée : créer une macro pour copier les résultats individuels élève par élève à partir de la feuille « saisie », vers le tableau de résultats de classe (feuille « résultats »).
1 réponse
-
ContributeurBonjour
je découvre la toute puissance de la macro sous excel 2003
Alors, Bienvenue à bord du Titanic :o)
Option Explicit Sub editer_resultats_classe() Dim eleve As String, note1 As Variant, Note2 As Variant, note3 As Variant Dim Lig As Byte With Sheets("saisie") If .Range("B16") = "" Then GoTo erreur eleve = .Range("B16") note1 = IIf(.Range("B20") = "", "", .Range("B20")) Note2 = IIf(.Range("B22") = "", "", .Range("B22")) note3 = IIf(.Range("B24") = "", "", .Range("B24")) With Sheets("Résultats") Lig = .Columns(1).Find(eleve, .Range("A1"), xlValues).Row .Cells(Lig, "B") = note1 .Cells(Lig, "C") = Note2 .Cells(Lig, "D") = note3 End With MsgBox " les notes de " & eleve & " ont été transcrites dans la feuille ""résultats""" .Range("B16,B20,B22,B24").ClearContents End With Exit Sub erreur: MsgBox " Choisir un élève !,vbcritical" End Sub
maquette:
https://www.cjoint.com/?3KcrBFbBkSp
Michel