Excel VBA: Copier une feuille et renommer

  • Auteur de la discussion sofia64
  • Date de début

sofia64

Nouveau membre
Bonjour à tous,

Je suis une novice en matière de vba et je cherche à ecrire une macro qui normalement devrait etre simple, mais je n'arrive pas à obtenir le résultat attendu.

Lorsque je clicque sur l'onglet Nouvelle feuille, je voudrais que la nouvelle feuille qui se crée soit une copie conforme de la feuille d'avant, mais qu'elle soit renommée avec un nom que je précise. J'arrive à copier la feuille mais le problème c'est qu'une fois que je clique sur l'onglet nouvelle feuille, une feuille en plus se crée portant le nouveau nom que j'ai précisé et qui est vide!
(ma première feuille porte le nom "Situation1", et j'aimerai renommer la feuile qui se crée "Situation2...etc")

Bon, voici mon code:

Code:
Sub Workbook_NewSheet(ByVal Sh As Object)
copierenommer (Sh.Name)
End Sub 

Sub copierenommer (onglet As String)

   onglet = "Situation" & Sheets.Count
   Sheets("Situation1").Copy After:=Sheets(Sheets.Count)
   Sheets(Sheets.Count).Name = onglet
   Sheets(onglet).Select

End Sub

Merci d'avance,

Sofia
 

zeb

Modérateur
Ligne 2. Pas de parenthèses lors de l'appel d'une Sub.

Lorsque je clicque sur l'onglet Nouvelle feuille
Je n'ai pas compris. Qu'est-ce que "l'onglet Nouvelle feuille" ?

M'enfin, l'événement Workbook_NewSheet se produit lorsqu'une nouvelle feuille est créée dans le classeur. Si dans cet événement tu remets la création d'une feuille, tu risques de boucler indéfiniment ! (Je me demande pourquoi il ne le fait pas d'ailleurs)

Pourquoi passes-tu en paramètre la variable onglet alors que tu la redéfinis lign 7 ?
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 852
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut