[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 »).

1 réponse

  1. Contributeur
    Bonjour
    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
    1. Merci beaucoup Michel, je suis le roi du monde !...(jusqu'au prochain iceberg?...)
      Problème ciblé et résolu avec précision; bravo !