Microsoft 365 vba renommer onglet en fonction de la valeur d'une cellule

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 !

Mwadepaname

XLDnaute Junior
Bonjour le forum,

je suis presque à bout de mon fichier, il ne me reste plus qu'à renommer les onglets créent cependant je sèche.
je souhaite en cliquant sur un bouton ajouter 3 nouveaux onglets et qu'ils soient renommés en fonction de la valeur de la cellule A2 d'un autre onglet
Quelqu'un aurait une idée. J'ai essayé avec boucle mais pas trouvé.
Ma dernière tentative me donne l'erreur 1004 (vous avez donné un nom de feuille non valide)

Le problème vient de cette ligne Sheets(Sheets.Count - 3).Name = Sheets(Sheets.Count - 3).Range("a2")

Merci
Fichier joint.
Voici mon code :

Sub newsheet()

Application.ScreenUpdating = False

Dim MyArray() As String
Dim NbOnglets As Long

NbOnglets = ActiveWorkbook.Sheets.Count

Sheets(Array(NbOnglets - 3, NbOnglets - 2, NbOnglets - 1)).Copy Before:=Sheets(ThisWorkbook.Sheets.Count)


Sheets(Sheets.Count - 3).Range("a2") = Sheets(Sheets.Count - 6).Range("h2")
Sheets(Sheets.Count - 2).Range("a2") = Sheets(Sheets.Count - 5).Range("h2")
Sheets(Sheets.Count - 1).Range("a2") = Sheets(Sheets.Count - 4).Range("h2")

Sheets(Sheets.Count - 3).Name = Sheets(Sheets.Count - 3).Range("a2")
Sheets(Sheets.Count - 2).Name = Sheets(Sheets.Count - 2).Range("a2")
Sheets(Sheets.Count - 1).Name = Sheets(Sheets.Count - 1).Range("a2")

End Sub
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
794
Réponses
5
Affichages
464
Réponses
11
Affichages
601
Retour