1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Sub macro()
Dim rep As String, maquette As String, code_etu As String, nom_etu As String
Dim ligne As Integer, nbligne As Integer, nb_etu As Integer
donnees = "fichier test agri.xls"
nbligne = Workbooks(donnees).Worksheets("Feuil1").Range("A65536").End(xlUp).Row - 1
rep = "G:\documents\"
maquette = "maquette.xls"
Dim cellule As Range, celluledeux As Range, plage As Range
Dim adresse_cellule As String
Dim feuille_maquette As Worksheet
Set plage = Workbooks(donnees).Worksheets("Feuil1").Range("A2:A" & nbligne + 1)
Range("A2").Select
For Each cellule In plage
If cellule.Value <> "" Then
If cellule.Value <> cellule.Offset(1, 0).Value Then
code_etu = cellule.Value
nom_etu = cellule.Offset(0, 1).Value
'Sauvegarde du fichier etudiant
Workbooks.Open Filename:=rep & maquette, UpdateLinks:=0
Application.DisplayAlerts = False
Workbooks(maquette).SaveAs Filename:=rep & "Livrables\" & code_etu & " " & nom_etu & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
'Création des feuilles
Range("C2").Select
adresse_cellule = cellule.Offset(0, 2).Address
For Each celluledeux In Workbooks(donnees).Worksheets("Feuil1").Range("C2:" & adresse_cellule)
Set feuille_maquette = ActiveWorkbook.Worksheets("Feuil1")
feuille_maquette.Copy Before:=Sheets("Feuil2")
ActiveSheet.Name = celluledeux.Value
Next celluledeux
End If
End If
Next cellule
End Sub |
Partager