Duppliquer plusssieurs onglet et les renommer selon cellule

Bonjour a tous ET Joyeux Halloween !!!

Voila je cherche, essaye de comprendre comment ça marche, recopie, modifie mais je n'arrive pas a finaliser un code vba.

Ce code vba me permettrais de recopier x fois la feuille "Mois" et les renomme selon une liste que j'ai sur une feuille "Liste" de la cellule D1 a D12.

Pour le recopier x fois j'ai trouvé mais pas pour les renommer;

J'ai recopié des codes par ci et la en les modifiants et je pense que ça dois se tenir dans un mouchoirs de poche pour y arriver.

Voici mon code en question :

Sub Dupliquer_Mois()

Dim i As Integer, j As Integer, z

Application.ScreenUpdating = False

z = InputBox("Nombre de copies ", "Copie")

i = Range("D" & Rows.Count).End(xlUp).Row

For j = i To 2 Step -1

Sheets("Mois").Copy After:=Sheets(ThisWorkbook.Sheets.Count)

With Sheets("Liste")

ActiveSheet.Name = .Range("D" & j)

End With

Next j

End Sub

Peut être qu'il y a des choses que je n'ai pas mis dans le bon ordre.

Si en même temps que la solution je pourrais avoir l'explication ce serais sympas.

Merci d'avance à toutes âmes charitables pour le temps pris.

Cdt

bonjour

ne pas faire comme sur papier avec un crayon, on était obligés en 1970, mais maintenant on fait de l'Excel

donc, un unique onglet, en colonnes simples

on reste TOUJOURS sur cet onglet, durant des mois et des dizaines d'années

on a pris la précaution d'avoir une colonne Date, au format jj/mm/aa obligatoire (Excel comprend des tas de choses grâce à ça)

tu feras facilement des filtres par périodes

tu feras en qq clics des TCD d'enfer et des courbes que je t'en parle même pas

jamais besoin de VBA.

note : tous les logiciels pro fonctionnent ainsi

bon travail

Merci pour ta réponse rapides et comprend la logique mais il s’avère que c'est pas tout a fais ce que je souhaite faire.

Donc si toi ou d'autres personnes as la solution a mon problème je suis preneur.

Cdt

Bonjour

dans ton code le input box ne sert a rien (pas utiliser)

tu dis que ta plage de nom de nouvelles feuilles va de D1 à D12 mais dans le code tu ne fais pas D1 .. normal ???

pour répondre à ta question et en l'absence de fichier voici un code que j'ai pas testé...

Sub Dupliquer_Mois()
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 to Range("D" & Rows.Count).End(xlUp).Row 
Sheets("Mois").Copy After:=Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = Sheets("Liste").Range("D" & i)
Next i
End Sub

dans ce code il n'y pas de vérification que la feuille existe déjà sous ce nom...

Fred

Merci pour ta réponse rapides et comprend la logique mais il s’avère que c'est pas tout a fais ce que je souhaite faire.

Donc si toi ou d'autres personnes as la solution a mon problème je suis preneur.

Cdt

re

salut au passage fred

ce que tu souhaites n'est pas interdit, mais il FAUT que tu apprenne un peu plus de la gestion de données.

ce n'est que mon conseil, pour t'éviter bien des soucis.

amitiés à toi et à tous

Bonjour a tous !

JMD merci pour ta réponse effectivement en matière de gestion de donnée je suis un peu ignare en ce domaine et faudrait que j' en apprenne plus . Mais dans ce cas précis il me semble que la lecture de mon fichier es plus facile pour la lecture mais j'essaierai sur un seul onglet pour voir.

fred2406 merci également pour ta réponse . Au sujet du input box je trouvais sympas de pouvoir lui dire le nombre d'onglet que je souhaitais mais bon apparemment ton code lui dis de copier mon onglet avec le nombre de noms prédéfinis que j'ai de D1 à D12 .

D'ailleurs a ce propos je n'ai mis que D dans mon code car je pensais qu'il prenais que la colonne en comte et s'arreterais automatiquement au derniers nom de la colonne soit D12.

Ton code marche presque mais il me mets :

erreur d'exécution '1004':

erreur définie par l'application ou par l'objet

et surligne en jaune :

ActiveSheet.Name = Sheets("Liste").Range("D" & i)

Il me copie quand même la feuille "Mois" 12 fois et renomme bien avec les douze nom prédéfinie des cellule D1 a D12 mais il copie deux fois de trop avec avant le premier nom "Mois M" et en dernier "Mois (3)". ces deux derniers sont donc de trop.

On es pas loin ça se trouve ça tient a une connerie de virgule rire.

En espérant me faire bien comprendre .

Une idée ? Merci encore a vous deux pour votre temps.

Cdt

Re

Il est toujours plus facile de parler avec du concret...

Donc merci de joindre un fichier en ayant supprimer les données qui pourraient être sensibles...

Fred

Re !

ok:

8syrius-v9-1.xlsm (294.76 Ko)

Cdt

Re

ci joint ton fichier en retour... j'ai aussi mis en place le test qui vérifie l’existence de la feuille avant de la créée

Fred

17syrius-v9-1.xlsm (311.53 Ko)

Re

fred2406 Super merci c"est top ! Tu peux juste m'expliquer le code ? eT l’application calculation a quoi sert t'elle ?

Sinon vraiment sympas c'est exactement ce que je souhaitais .

Es ce que je peux abuser en te demandant s tu as une idée pour faire en sorte que les valeurs de l'onglet "Données" dans les onglet du mois et catégorie correspondant ? Ou faire que le userform remplisse directement dans les onglet des mois et catégorie correspondant au lieu de l'onglet "données ?

Je pense que ce serais mieux de trouver une solution pour la premières question.

Sinon pas grave déjà un grand merci pour ton aide.

Cdt

Re ci joint ton fichier avec le code un peu commenter....

et pour répondre a ta deuxième question (enfin si je l'ai comprise....) deux exemples de TCD

et comme te l'avais suggéré jmd... toujours gardé toutes les données sur une seule feuille...

Fred

13syrius-v9-1.xlsm (302.40 Ko)

Re

fred2406 Un grand merci pour ta réponse super sympas.

Merci aussi pour les tcd mème si c'est pas tout a fais le rendu que je souhaité mais apparemment ce que je veux faire n'est pas vraiment possible je vais réfléchir pour réorienter la vison de mon fichier.

Merci pour le temps consacré.

Cdt

Bonjour

je ne suis pas un spécialiste des TCD.. je te suggère d'ouvrir un nouveau sujet avec plus de détails sur la forme attendue du tableau de sortie... car je n'ais peut-être pas compris la demande...

En attendant merci de cloturer le fil avec :

Fred

Rechercher des sujets similaires à "duppliquer plusssieurs onglet renommer"