Bonjour,
Peux-tu expliquer ce que tu essaies de faire, car je doute que tu souhaites créer x fois le même contenu (à savoir EVAL1) (y compris nom, prénom, matricule) dans x fichiers différents ?
sinon voici une adaptation de ta macro, si c'est réellement ce que tu souhaites faire.
Sub Creer_EVAL1()
Dim wb2 As Object
Dim wb1 As Object
Dim Fich As Variant
If MsgBox("Vous allez préparer Le BEFinal_EVAL1_FIE_" & Range("C12") & ". Confirmez-vous?", vbYesNo) = vbNo Then Exit Sub
Worksheets("RÉCUPÉRATION").Range("H10:H310").ClearContents
Worksheets("RÉCUPÉRATION").Range("A10:A310").Copy Worksheets("RÉCUPÉRATION").Range("H10:H310")
For i = 1 To 2
Set wb1 = ThisWorkbook ' classeur qui possède ce code et les données à copier dans les fichiers élèves
Fich = "Elève_" & i & ".xlsx"
If Fich <> False Then
Set wb2 = Workbooks.Open(Filename:=Fich)
wb1.Worksheets("EVAL1").Range("A:H").Copy wb2.Worksheets("EVAL").Range("A1")
End If
wb2.Close True
wb1.Activate 'Pour afficher wb1
Next
MsgBox "Dossier préparé."
Application.Goto Reference:=Worksheets("REFERENCES").Range("a1"), scroll:=True
End Sub