Nommer un onglet

Salut le forum,

comment puis-je nommer un onglet en fonction du contenu d'une cellule de cet onglet?

Par exemple, en A1, j'ai X. Je veux donc que l'onglet s'appelle X. Si je change pour Y, le nom de l'onglet devient Y. Je dois aussi prévoir que la cellule peut être vide et déterminer un nom d'onglet dans ce cas-là.

Merci pour votre aide.

Salut,

A tester, ici

Voir la macro dans le module de la feuille.

Souri84

Edit2: mettre un mot en A1

Bonsoir,

plutôt que d'utiliser l'évènement Selection_Change, utilises plutôt l'évènement Change...

essaie ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then _
    ActiveSheet.Name = IIf(Target = "", "Feuilx", Target)
End Sub

c'est vrai Felix, mais je n'y pense jamais....

Vous êtes géniaux!!!

Merci beaucoup!

Hello!

Je viens de tester la solution de souri84, mais cela ne fonctionne pas pour moi.

J'essaye d'appliquer cette macro sur la feuille 4 de mon fichier, pour qu'elle soit nommée en fonction de la valeur de la cellule G2 (valeur qui est récupérée sur la feuille 1 par =feuil1!A12).

J'ai donc inséré le code suivant:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim valeurG2 As String

valeurG2 = Range("G2").Value

Select Case valeurG2

Case Is = ""

Sheets(4).Name = "Format C336"

Case Is <> ""

Sheets(4).Name = valeurG2

End Select

End Sub

Est ce que le problème vient du fait qu'il y ait une formule dans ma cellule G2?

J'espère que mes explications sont claires, et vous remercie par avance pour vos éventuelles solutions...

Bonjour

Pas très glop de squatter un autre post

Il vaut mieux en ouvrir un autre en y notant la référence à celui-ci (mais pas trop important)

benjaminS a écrit :

Est ce que le problème vient du fait qu'il y ait une formule dans ma cellule G2?

C'est cela

Code à placer dans le module de la feuille 1

Private Sub Worksheet_Change(ByVal Target As Range)
Dim valeurG2 As String
  If Not Intersect(Range("A12"), Target) Is Nothing And Target.Count = 1 Then

    valeurG2 = Range("A12").Value
    Select Case valeurG2
      Case Is = ""
        Sheets(4).Name = "Format C336"
      Case Is <> ""
        Sheets(4).Name = valeurG2
    End Select
  End If
End Sub

Hello!

Tout d'abord merci beaucoup, et désolé pour le fait d'avoir repris un sujet existant, je suis novice sur les forums et ne connais pas encore tous les usages...

Ce code marche super bien...

Petit soucis cependant, j'ai en fait une centaine d'onglets à renommer (de la feuille 4 à la feuille 109).

Chacun de ces onglets doit également être nommé en fonction de sa propre cellule G2 (elle même toujours égale à une valeur contenue dans la feuille 1) Les valeurs dans la feuille 1 sont prise à partir de A12, jusqu'à A1377, de 13 en 13 (A12, A25, A38.... etc)

Existe-t-il une solution?

Merci d'avance!

Bonjour

A tester

Si pas ça

Hello,

Merci beaucoup Banzai 64, ça marche super bien!

Bonne journée!

Rechercher des sujets similaires à "nommer onglet"