Créer plusieurs feuilles en fonction d'une liste

  • Initiateur de la discussion Initiateur de la discussion Grem974
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Grem974

XLDnaute Nouveau
Bonjour,
J'aimerais savoir comment peut-on faire pour générer à partir d'une macro plusieurs feuilles qui seront au nombre de cellules comprises dans une liste et qui prendront le nom de chaque élément?

J'ai tenté quelque chose comme :

Code:
Sub Save_DOC()
Dim nom, c As Range
    Sheets(Array("TRAME", "CYCLES", "calendrier", "Affectations")).Copy
    ChDir "C:\Users\m.roblin\Desktop"
    With ActiveWorkbook
        .SaveAs Range("TRAME!B2").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    
    For Each c In Range("mois!A1:A12")
        nom = c.Value
        Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = nom
    Next c
    End With
End Sub

Mais ca marche pas.

Mon idée était de créer une feuille par mois à partir d'une trame dynamique existante.
Merci d'avance!
 
Re : Créer plusieurs feuilles en fonction d'une liste

Bonjour,

a première vue ça devrait fonctionner.
Les noms dans A1:A12 son t-ils corrects (pas de doublon, pas de caractère interdits dans les noms de feuille, pas de feuille portant dèjà le même nom, ...) ?

Peux-tu joindre un fichier exemple ?
 
Re : Créer plusieurs feuilles en fonction d'une liste

Bonjour à tous

Bonjour,
Mon idée était de créer une feuille par mois à partir d'une trame dynamique existante.
Merci d'avance!
Si il s'agit de crééer 12 feuilles mensuelles, la macro ci-dessous le fait sans stocker le nom des mois dans une feuille
Code:
Sub mFeuillesMois()
Dim i&
For i = 1 To 12
On Error Resume Next
Sheets.Add(after:=Sheets(Sheets.Count)).Name = MonthName(i)
Next
On Error GoTo 0
End Sub
 
Re : Créer plusieurs feuilles en fonction d'une liste

Bonsoir,
Oui je peux montrer un fichier exemple 🙂

L'idée est de faire des copies de la trame pour chaque mois. J'ai réussi à le faire pour un classeur vide.
Mais là en plus de faire ces 12 copies je veux que ce soit un nouveau fichier.
 

Pièces jointes

Re : Créer plusieurs feuilles en fonction d'une liste

Re

EDITION: Pourquoi avoir créer un second fil alors qu'il existait celui-là 😕😕
https://www.excel-downloads.com/thr...tique-a-partir-de-trame-dynamique-vba.231906/

Ce code fonctionne sur un fichier vide contenant une seule feuille nommée TRAME
(et sans feuilles masquées)
Code:
Sub CopyFeuilles12()
Dim i%
For i = 1 To 12
Sheets("TRAME").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = MonthName(i)
ActiveSheet.Range("B1").Range("A1") = DateSerial(Year(Date), i, 1)
ActiveSheet.Range("B1").Range("A1").NumberFormatLocal = "mmmm"
Next i
End Sub



Mais j'ai des erreurs si je teste sur ton fichier joint.
Et toi ?
 
Dernière édition:
Re : Créer plusieurs feuilles en fonction d'une liste

Re


Sans doute les procédures événementielles contenues dans la feuille TRAME y sont-elles pour quelque chose...
(en tout cas le code fonctionne sans souci dans les conditions décrites dans mon précédent message)


PS:Sinon pas de réponse à ma question dans la partie EDITION de mon précédent message ?
 
Re : Créer plusieurs feuilles en fonction d'une liste

Je n'ai pas répondu à quelle question? 😕

parce que j'ai l'impression que j'ai répondu à toutes les questions 😕

Le double post c'est pas volontaire, je ne trouvais pas en tapant des mots clés (les mauvais certainement)
 
Re : Créer plusieurs feuilles en fonction d'une liste

En fait je vois ta question. Le double post c'est moi qui les ai écrits... je pensais le premier post très vaste et vague et je pensais celui-ci plus .... Ciblé... apparemment c'est la même question en pas pareil (mais j'ai vraiment pas fait exprès) je pensais faire différent 😱😱😱 et en fait je suis un boulet.
 
Re : Créer plusieurs feuilles en fonction d'une liste

Re


Tu viens de répondre à toutes les questions avec cette phrase 😉
Le double post c'est pas volontaire, je ne trouvais pas en tapant des mots clés (les mauvais certainement)

Pour infos : pour retrouver tes discussions facilement, tu cliques sur ton pseudo

puis sur Trouver les dernières discussions commencées


Pour revenir à la question, je parlais du code VBA* présent dans la feuille TRAME, qui interfère avec le code de copie des feuilles.
(clic-droit -> Visualiser le code -> * ce code VBA)
 
Re : Créer plusieurs feuilles en fonction d'une liste

Et quand je la rererelis en fait la question🙄 est un peu différente. Parce que ici l'effet est qu'on garde les formules dans les cellules. Et le code du coup (c'est utile) mais les formules viennent peut-être alourdir. Je ne sais pas...
 
Re : Créer plusieurs feuilles en fonction d'une liste

Re

Relis mon précédent message 😉
Je ne parle pas des formules mais du code VBA présent dans le code de la feuille.
(bien que les formules doivent sans doute poser également problèmes)
 
Dernière édition:
Re : Créer plusieurs feuilles en fonction d'une liste

merci pour le tuyau pour retrouver ses posts.... je suis le roi des boulets 😎

Pour éviter cette interférrence est-ce qu'il y a un moyen de pallier ce problème?

Parce que le code des feuilles sert à masquer des lignes et langer le userform. Et c'est vraiment important de garder des 2 effets parce que les userform serviront à plusieurs choses plus tard.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour