Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Problème de destination à l'exécution d'une macro

Pimpon974

XLDnaute Nouveau
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
 

Pièces jointes

  • Etats de Présence +Planning copie.xlsm
    150.6 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pimpon,
Dans votre fichier en lançant la macro GénéréUneFeuilleFormateur, cela se passe correctement. Il finit par répondre :

Essayez de fermer XL et relancez le, peut être cela marchera t-il. Sinon le code semble correct.
( je suis sous XL2007 )
 

Pimpon974

XLDnaute Nouveau
Bonjour Sylvanu,

Oui effectivement, le code fonctionne et il génère les nouvelles feuilles dans le même classeur. Ce que je souhaiterais c'est qu'il les génère dans un autre classeur qu'il créé.
Cela afin d'éviter de se retrouver avec pleins de feuilles au même endroit.
 

Discussions similaires

Réponses
5
Affichages
345
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…