Renommer onglets en fonction d'une cellule automatiquement à l'ouverture

Bonjour à tous,

Je n'y connais rien en VBA et je vous remercie par avance pour votre patience.

Il faut que ce fichier fonctionne sous Mac et PC et sous différentes versions d'Excel.

J'ai réussi à renommer des onglets en fonction d'une cellule. Dans mon "vrai" fichier il y a beaucoup de feuilles, il faut donc à cliquer dans chacune des feuilles pour que le nom de l'onglet se mette à jour, ce qui n'est pas pratique pour les utilisateurs.

Les noms des feuilles é, 3 et 4 se terminent pas P N, les noms des feuilles 6, 7 et 8 se terminent pas R N.

Questions

  1. Comment faire pour qu'une fois les lettres des équipes saisies sur la feuille "Décisions", les noms des onglets se mettent à jour automatiquement, par exemple à l'ouverture du fichier ?
  2. Est-ce qu'il est possible de faire référence à la cellule B2 de la feuille "Décisions" pour tous les onglets qui, dans mon exemple, commencent par A ?
  3. Est-ce qu'il est possible d'indiquer que pour les feuilles 2, 3 et 4, la suite du nom de l'onglet est P N et pour les feuilles 6, 7 et 8, la suite du nom est R N ?

Je vous remercie par avance pour votre aide et vous souhaite une bonne journée.

14essai.xlsm (29.35 Ko)

Bonjour MPL, bonjour le forum,

Pas sûr d'avoir bien compris...

Private Sub Workbook_Open() 'a l'ouverture du classeur
Dim I As Byte 'déclare la variable I (Incrément)

For I = 1 To Sheets.Count 'boucle sur tous les onglets du classeur
    Select Case I 'agit en fonction de I
        Case 2 To 4 'cas de 2 à 4
            Sheets(I).Name = Sheets("décisions").Cells(2, I).Value & " P N" 'renomme l'onglet I
        Case 6 To 8
            Sheets(I).Name = Sheets("décisions").Cells(2, I - 4).Value & " R N" 'renomme l'onglet I
    End Select 'fin de l'action en fontion de I
Next I 'prochain onglet de la boucle
End Sub

Bonjour TauThème,

Je te remercie de m'avoir proposé une solution, mais je n'ai pas réussi à la faire fonctionner.

J'ai essayé de faire fonctionner ton code en le copiant dans "ThisWorkbook". J'ai un message d'erreur "Erreur de compilation : Next sans For".

J'avais auparavant essayé en le copiant dans la feuille 2 à la place de ma macro. Aucune des solutions n'a modifié le nom de l'onglet de feuille 2 après réouverture du fichier.

Ce n'est pas grave si je dois copier ma macro dans chacune des feuilles, l'important est surtout que la mise à jour se fasse automatiquement à la réouverture du fichier.

Bonne journée et merci encore,

Oups ! J'avais oublié une ligne. Et maintenant tout fonctionne parfaitement. C'est absolument génial !

Je vais tester sur mon "vrai" fichier et je vous tiens au courant.

Merci beaucoup Tauthème.

Rechercher des sujets similaires à "renommer onglets fonction automatiquement ouverture"