Aide VBA / Copier feuille "modèle" et la renommer

Bonjour à tous,

Premier post pour moi sur ce forum (ou n'importe quel forum en fait).

Je ne suis pas une pointure sur VBA mais j'essaye d'en faire un peu pour faciliter un projet qui nécessite des calculs sur Excel. J'essaye de me former en apprenant le langage VBA à l'aide de code que l'on peut trouver sur le site d'Excel mais j'ai quand même du mal.

Je souhaiterais en fait créer une copie d'une feuille Excel qui est mon "modèle" et pouvoir renommer cette copie comme je le souhaite, et pas forcément ajouter un ordre croissant au classement de mes feuilles.

J'ai réussi à comprendre le code "Créer une feuille et la nommer comme je le souhaite" et le code "Copier une feuille existante et la renommer par ordre croissant". Cependant je n'arrive pas à créer mon code "Copier une feuille existante et la renommer comme je le souhaite" qui combine ces 2 codes, car le langage (en anglais qui plus est) reste compliqué. (Je joins au texte les 2 codes)

Est-ce que quelqu'un peut m'aider s'il vous plait ?

Merci d'avance,

R.

Code : Créer nouvelle feuille et la nommer

Sub CreateSheet()
'Updated by ExtendOffice 20181009
Dim xName As String
Dim xSht As Object
On Error Resume Next
xName = InputBox("Please enter a name for this new sheet ", "Kutools for Excel")
If xName = "" Then Exit Sub
Set xSht = Sheets(xName)
If Not xSht Is Nothing Then
MsgBox "Sheet cannot be created as there is already a worksheet with the same name in this workbook"
Exit Sub
End If
Sheets.Add(, Sheets(Sheets.Count)).Name = xName
End Sub

Code : Copier feuille déjà existante et nommer par ordre croissant

Sub Copyrenameworksheet()
'Updateby Extendoffice
Dim ws As Worksheet
Set wh = Worksheets(ActiveSheet.Name)
ActiveSheet.Copy After:=Worksheets(Sheets.Count)
If wh.Range("A1").Value <> "" Then
ActiveSheet.Name = wh.Range("A1").Value
End If
wh.Activate
End Sub

Bonjour Tcherok

vois ce fichier :

Bon courage

121tcherok.xlsm (25.79 Ko)

Bonjour et bienvenue sur le forum

Bonjour à tous

Un essai à tester. Te convient-il ?

92classeur1.xlsm (19.13 Ko)

Bye !

Je me permets de modifier mon dernier message. Merci déjà pour votre aide GMB et Patty.

J'ai ajouté à votre code un bouton qui se copie-colle sur chaque nouvelle feuille et qui me permet à chaque fois que le nouvelle feuille est remplie d'en générer une nouvelle.

Petit problème pour un débutant comme moi : le bouton qui suit les nouvelles feuilles me copie colle la nouvelle feuille remplie et pas le modèle (normal je comprends bien le code). Mais je souhaiterais que le bouton (présent sur chaque feuille) me génère un copie du modèle uniquement (pour éviter d'avoir à effacer les cellules du tableau qui est dense et pour remplir les données de l'année N+1 facilement).

Pourriez-vous m'aider une nouvelle fois ? Merci encore d'avance

R.

Pourrais-tu joindre le document que tu as modifié ?

Bye !

Voilà le document sur lequel je vais essayer d'obtenir mon outil de calcul final.

L'accueil ou j'expliquerai le modèle

Les paramètres où je mettrais des données pour d'éventuelles RECHERCHEV

Et le modèle : à partir duquel j'aimerai créer ma première copie correspondant à l'Année N. Et idéalement à partir duquel je pourrais créer mes Année N+1, N+2 tout en ayant le bouton copie sur les années N+nb (comme il restera vierge).

Merci

Re

Bonjour Tcherok, bonjour gmb

vois ce fichier

A +

100tcherok2.xlsm (91.79 Ko)

Bonjour,

Ca fonctionne parfaitement ! merci à vous 2 !

A une prochaine

R.

Re-bonjour Patty et GMB,

Après avoir modifié mon document avec vos codes (encore merci) je me suis dit que pour synthétiser tout ça il serait intéressant de regrouper la valeur UNIQUE obtenue sur chaque feuille dans un tableau à 2 colonnes : "année" et "résultat". Pour ensuite tracer un graphique et étudier l'évolution de mon étude.

J'ai commencé par créer une macro liée à un bouton qui permet de :

- créer un nouvelle feuille appelée "Synthèse", et à créer l'en tête de mon tableau (c'est à dire les mots "année" et "résultat").

- j'ai aussi essayé de me faire la main en ajoutant dans la colonne de gauche les numéros des années (mais seulement un copié/collé de cellules des feuilles précédentes) et des valeurs au pif dans la colonne de droite qui correspondent à la cellule A6 de chaque feuille). l'idée est que le résultat de chaque année sera toujours dans la même cellule.

Mon problème étant le suivant :

- j'aimerais pour la colonne de gauche : que la cellule soit remplie avec le "nom de la feuille" à partir de laquelle la valeur de la colonne de droite sera tirée (ex : feuille "AnnéeN" avec un résultat de "45 tonnes", qui donnera donc la 1ère ligne de mon tableau "Année" / "Résultat").

Avec mon code actuel je sais juste copier le résultat mais pas nommer la colonne de gauche en fonction du nom de la feuille concernée.

Egalement j'ai du mal à gérer les suites, c'est à dire j'aimerais que le tableau se construise que j'ai 3 feuilles nommées "AnnéeN, AnnéeN+1, AnnéeN+2" ou que j'en ai 10 "AnnéeN, AnnéeN+1, AnnéeN+2, AnnéeN+3, AnnéeN+4, AnnéeN+5, AnnéeN+6, AnnéeN+7, AnnéeN+8, AnnéeN+9".

Les feuilles "AnnéeN+nb" étant des clones d'un modèle la valeur UNIQUE à copier/coller sera toujours au même endroit (dans l'ex : celulle A6).

NB : je compte bien noter les feuilles AnnéeN (sans espace) et pas Année N (avec espace), chose qui doit être important mais facilement changeable dans le code.

Je joins à ce message les "prémices" de mon code, que j'ai tant bien essayé de faire.

Merci d'avance,

R.

Rechercher des sujets similaires à "aide vba copier feuille modele renommer"