Je suis un débutant, aidez-moi à rendre ces codes automatiques dans un fichier automatisé sur Excel. Merci :
Sub CreerFichierExcel()
Dim wb As Workbook
Dim ws As Worksheet
Dim classes As Variant
Dim trimestres As Variant
Dim i As Integer
' Étape 1: Créer le fichier Excel
Set wb = Workbooks.Add
' Étape 2: Créer la feuille "SAISIE LISTE DE LA CLASSE"
Set ws = wb.Worksheets(1)
ws.Name = "SAISIE LISTE DE LA CLASSE"
ws.Cells(1, 1).Value = "Numéro"
ws.Cells(1, 2).Value = "Nom"
ws.Cells(1, 3).Value = "Prénom"
ws.Cells(1, 4).Value = "Date de naissance"
ws.Cells(1, 5).Value = "Sexe"
ws.Cells(1, 6).Value = "Classe"
' Étape 3: Créer les feuilles pour chaque classe
classes = Array("", "CE1", "6ème") ' Ajoutez d'autres classes si nécessaire
For i = LBound(classes) To UBound(classes)
Set ws = wb.Worksheets.Add(After:=wb.Sheets(wb.Sheets.Count))
ws.Name = classes(i)
ws.Cells(1, 1).Value = "Numéro"
ws.Cells(1, 2).Value = "Nom"
ws.Cells(1, 3).Value = "Prénom"
ws.Cells(1, 4).Value = "Date de naissance"
ws.Cells(1, 5).Value = "Sexe"
ws.Cells(1, 6).Value = "Classe"
ws.Cells(1, 6).Value = classes(i) ' Remplir la colonne Classe avec le nom de la classe
Next i
' Étape 4: Créer les feuilles pour les trimestres
trimestres = Array("PREMIER TRIMESTRE", "DEUXIEME TRIMESTRE", "TROISIEME TRIMESTRE")
For i = LBound(trimestres) To UBound(trimestres)
Set ws = wb.Worksheets.Add(After:=wb.Sheets(wb.Sheets.Count))
ws.Name = trimestres(i)
ws.Cells(1, 1).Value = "Numéro"
ws.Cells(1, 2).Value = "Nom"
ws.Cells(1, 3).Value = "Prénom"
ws.Cells(1, 4).Value = "Matière"
ws.Cells(1, 5).Value = "Note"
Next i
' Étape 5: Créer le modèle de relevé de note
Set ws = wb.Worksheets.Add(After:=wb.Sheets(wb.Sheets.Count))
ws.Name = "BULLETIN DE NOTES"
ws.Cells(1, 1).Value = "Nom de l'élève"
ws.Cells(2, 1).Value = "Classe"
ws.Cells(3, 1).Value = "Trimestre"
ws.Cells(4, 1).Value = "Matières"
ws.Cells(5, 1).Value = "Notes obtenues"
ws.Cells(6, 1).Value = "Moyenne générale"
ws.Cells(7, 1).Value = "Appréciation"
' Étape 6: Créer une feuille pour les moyennes annuelles
Set ws = wb.Worksheets.Add(After:=wb.Sheets(wb.Sheets.Count))
ws.Name = "MOYENNES ANNUELLES"
ws.Cells(1, 1).Value = "Numéro"
ws.Cells(1, 2).Value = "Nom"
ws.Cells(1, 3).Value = "Prénom"
ws.Cells(1, 4).Value = "Moyenne du Premier Trimestre"
ws.Cells(1, 5).Value = "Moyenne du Deuxième Trimestre"
ws.Cells(1, 6).Value = "Moyenne du Troisième Trimestre"
ws.Cells(1, 7).Value = "Moyenne Annuelle"
' Étape 7: Créer un menu principal
Set ws = wb.Worksheets.Add(After:=wb.Sheets(wb.Sheets.Count))
ws.Name = "MENU PRINCIPAL"
' Ajouter des liens vers chaque feuille (facultatif)
Dim j As Integer
Dim sheetNames As Variant
sheetNames = Array("SAISIE LISTE DE LA CLASSE", "", "CE1", "6ème", _
"PREMIER TRIMESTRE", "DEUXIEME TRIMESTRE", _
"TROISIEME TRIMESTRE", "BULLETIN DE NOTES", _
"MOYENNES ANNUELLES")
For j = LBound(sheetNames) To UBound(sheetNames)
With ws
.Cells(j + 1, 1).Value = sheetNames(j)
.Hyperlinks.Add Anchor:=.Cells(j + 1, 2), Address:="", _
SubAddress:=sheetNames(j) & "!A1", TextToDisplay:="Aller à " & sheetNames(j)
End With
Next j
End Sub