Bonjour à tous,
Je rencontre une problématique à la mise en oeuvre d'une macro.
Celle-ci à pour fonction de me créer des feuilles type automatiquement en étant remplie d'informations de base.
C'est un suivi de la semaine de mes formateurs.
Donc les feuilles se créent avec les informations (nom, prénom, etc...) et viennent se mettre dans le même classeur les unes à la suite des autres.
Afin d'alléger le classeur (pour ne pas avoir trop de feuilles) je voudrais plutôt que ces nouvelles feuilles de suivi crées s'enregistrent dans un nouveau classeur (qui serait dans le même dossier)
Voici le code : en rouge la destination actuelle à modifier pour le nouveau classeur.
J'ai essayé des choses mais ça ne passe pas.
Merci pour votre aide par avance
Sub GénéréUneFeuilleFormateur()
Dim nom As String 'déclare la variable des noms formateur
Dim c As Range 'déclare la variable Liste des formateurs
Application.ScreenUpdating = False
For Each c In Range("ListeFor")
nom = c.Value
If nom <> "" Then
Sheets("Tableau").Visible = True
Sheets("Tableau").Copy After:=Sheets(Worksheets.Count)
Sheets("Tableau").Visible = False
On Error Resume Next
ActiveSheet.Name = nom
If Err <> 0 Then
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Else
Range("A7") = Sheets("Données").Cells(c.Row, 4) 'Grade
Range("C7") = Sheets("Données").Cells(c.Row, 5) 'Nom
Range("E7") = Sheets("Données").Cells(c.Row, 6) 'Prénom
Range("H7") = Sheets("Données").Cells(c.Row, 3) 'Centre
Range("M7") = Sheets("Données").Cells(c.Row, 2) 'Statut
Range("A11") = Sheets("Données").Cells(c.Row, 7) 'Date 1
Range("A13") = Sheets("Données").Cells(c.Row, 8) 'Date 2
Range("A15") = Sheets("Données").Cells(c.Row, 9) 'Date 3
Range("A17") = Sheets("Données").Cells(c.Row, 10) 'Date 4
Range("A19") = Sheets("Données").Cells(c.Row, 11) 'Date 5
Range("A21") = Sheets("Données").Cells(c.Row, 12) 'Date 6
End If
On Error GoTo 0
End If
Next
MsgBox "Onglets généré !" 'message de validation de l'action
Application.ScreenUpdating = True
End Sub
Je rencontre une problématique à la mise en oeuvre d'une macro.
Celle-ci à pour fonction de me créer des feuilles type automatiquement en étant remplie d'informations de base.
C'est un suivi de la semaine de mes formateurs.
Donc les feuilles se créent avec les informations (nom, prénom, etc...) et viennent se mettre dans le même classeur les unes à la suite des autres.
Afin d'alléger le classeur (pour ne pas avoir trop de feuilles) je voudrais plutôt que ces nouvelles feuilles de suivi crées s'enregistrent dans un nouveau classeur (qui serait dans le même dossier)
Voici le code : en rouge la destination actuelle à modifier pour le nouveau classeur.
J'ai essayé des choses mais ça ne passe pas.
Merci pour votre aide par avance
Sub GénéréUneFeuilleFormateur()
Dim nom As String 'déclare la variable des noms formateur
Dim c As Range 'déclare la variable Liste des formateurs
Application.ScreenUpdating = False
For Each c In Range("ListeFor")
nom = c.Value
If nom <> "" Then
Sheets("Tableau").Visible = True
Sheets("Tableau").Copy After:=Sheets(Worksheets.Count)
Sheets("Tableau").Visible = False
On Error Resume Next
ActiveSheet.Name = nom
If Err <> 0 Then
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Else
Range("A7") = Sheets("Données").Cells(c.Row, 4) 'Grade
Range("C7") = Sheets("Données").Cells(c.Row, 5) 'Nom
Range("E7") = Sheets("Données").Cells(c.Row, 6) 'Prénom
Range("H7") = Sheets("Données").Cells(c.Row, 3) 'Centre
Range("M7") = Sheets("Données").Cells(c.Row, 2) 'Statut
Range("A11") = Sheets("Données").Cells(c.Row, 7) 'Date 1
Range("A13") = Sheets("Données").Cells(c.Row, 8) 'Date 2
Range("A15") = Sheets("Données").Cells(c.Row, 9) 'Date 3
Range("A17") = Sheets("Données").Cells(c.Row, 10) 'Date 4
Range("A19") = Sheets("Données").Cells(c.Row, 11) 'Date 5
Range("A21") = Sheets("Données").Cells(c.Row, 12) 'Date 6
End If
On Error GoTo 0
End If
Next
MsgBox "Onglets généré !" 'message de validation de l'action
Application.ScreenUpdating = True
End Sub