Changement de variable pour reporter des données d’une feuille à une autre

Bonjour à tous,

J’utilise un fichier pour noter des étudiants sans avoir à saisir de notes. Pour cela, le fichier possède un formulaire qui permet d’assigner une note pour chaque exercice en cliquant simplement sur une case d’option. Il y a une liste déroulante qui permet d’afficher un nom d’étudiant tiré d’une liste située dans une autre feuille ainsi qu’un bouton d’initialisation qui remet à zéro les cases d’option. Pour enregistrer les notes de chaque étudiant dans la liste située dans la feuille adjacente (ici nommée « Matrice »), Worksheet est utilisé comme variable avec une colonne de référence (colonne A, ici nommée « ID1 ») qui utilise les numéros de ligne de la feuille. (cf. fichier joint)

Tout cela fonctionne bien, mais serait-il possible de modifier ce code pour simplifier le fichier? En effet, les étudiants possèdent déjà tous un identifiant unique (colonne B, ici nommée « ID2 ») qu’on pourrait simplement utiliser pour sauvegarder les notes (ce qui permettrait de supprimer la colonne « ID1 »). Autrement dit, on pourrait utiliser les données de la colonne « ID2 » à la place des données de la colonne « ID1 » pour reporter les notes. J’imagine qu’il faut changer la variable (Range?), mais, et malgré mes recherches en ligne, mes compétences en VBA sont trop limitées pour trouver une solution viable.

D’avance merci pour vos suggestions!

Bonjour,

Le code après avoir supprimé la colonne A de la feuille "Matrice".

Sub Sauvegarder()
    Dim f1 As Worksheet, f2 As Worksheet
    Dim IdEtudiant As Long, x As Long

    Set f1 = Sheets("Grille")
    Set f2 = Sheets("Matrice")
    IdEtudiant = f1.Cells(2, 4).Value
    x = Application.Match(IdEtudiant, f2.Range("A1:A" & f2.Range("A" & Rows.Count).End(xlUp).Row), 0)
    f2.Cells(x, 5) = f1.Cells(5, 1)
    f2.Cells(x, 6) = f1.Cells(7, 1)
    f2.Cells(x, 8) = f1.Cells(11, 1).Value
    f2.Cells(x, 9) = f1.Cells(13, 1).Value

    Set f1 = Nothing
    Set f2 = Nothing
End Sub

Cdlt

Excellent, simple et efficace !

Cela fonctionne parfaitement, et j'ai même pu créer un bouton "Charger" en inversant le processus !

Merci beaucoup !!

Rechercher des sujets similaires à "changement variable reporter donnees feuille"