Créer plusieurs feuilles en fonction d'une liste

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!
 

Iznogood1

XLDnaute Impliqué
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 ?
 

Staple1600

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

Grem974

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

  • Testeur.xlsm
    103.3 KB · Affichages: 28
  • Testeur.xlsm
    103.3 KB · Affichages: 39
  • Testeur.xlsm
    103.3 KB · Affichages: 35

Staple1600

XLDnaute Barbatruc
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à :confused::confused:
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:

Staple1600

XLDnaute Barbatruc
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 ?
 

Grem974

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

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

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

Le double post c'est pas volontaire, je ne trouvais pas en tapant des mots clés (les mauvais certainement)
 

Grem974

XLDnaute Nouveau
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 :eek::eek::eek: et en fait je suis un boulet.
 

Staple1600

XLDnaute Barbatruc
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)
 

Grem974

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

Et quand je la rererelis en fait la question:rolleyes: 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...
 

Staple1600

XLDnaute Barbatruc
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:

Grem974

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

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

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.
 

Discussions similaires

Statistiques des forums

Discussions
312 225
Messages
2 086 411
Membres
103 201
dernier inscrit
centrale vet