Renommer une feuille en fonction d'une cellule

Bonjour,

Je relance ce sujet --> https://forum.excel-pratique.com/viewtopic.php?f=2&t=20336

Est-il possible de faire pareil mais en allant chercher une cellule appartenant à une autre feuille.

Par exemple cette autre feuille ce nomme "Parcelle" et je souhaite prendre la cellule A1.

J'ai fait :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("Parcelle!A1")) Is Nothing Then
ActiveSheet.Name = Range("Parcelle!A1")
End If
End Sub

Mais ça ne fonctionne pas. Une idée ?

Bonjour

Je ne vois pas bien ce que vous cherchez à faire. Pouvez-vous expliquer ou mieux mettre un fichier en ligne

Cordialement

Voilà ci-joint ce que je souhaite

Re

Vois en pièce jointe. Attention que c'est toujours la feuille positionnée en 2ieme position qui changera de nom

Cordialement

Re,

Merci efficace et rapide ! ^^

Ah d'accord du coup c'est dans la feuille "Parcelle" qu'il faut rentrer le code ?

Je pensais qu'il fallait le rentrer dans la Feuil2..

Et si je souhaite que ma Feuil3 se nomme B j'ajoute:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Sheets(2).Name = Target
End If
If Not Application.Intersect(Target, Range("B1")) Is Nothing Then
Sheets(3).Name = Target
End If
End Sub

Ça fonctionne au top mais si effectivement ma feuille change de position je suis fichu. Est-il donc possible de figer des feuilles ? (Qu'il ne soit plus possible de les déplacer ?)

re

Dans le fichier que j'ai joint précédemment, essayez comme ceci

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("A1:B1")) Is Nothing Then
MsgBox Target.Column
    Select Case Target.Column
        Case Is = 1: Feuil2.Name = Target
        Case Is = 2: Feuil3.Name = Target
    End Select
End If
End Sub

Cordialement

Ça fonctionne parfaitement !

Du coup là si j'ai compris la feuil2 correspond à la case 1 et la feuil3 correspond à la case 2

Case 1 = A1 et Case 2= B1

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("A1:B1")) Is Nothing Then
'Ici j'arrive à comprend que tu range la feuil2 dans la case 1 etc..'
MsgBox Target.Column
    Select Case Target.Column
        Case Is = 1: Feuil2.Name = Target
        Case Is = 2: Feuil3.Name = Target
    End Select
End If
End Sub

Mais je ne comprend pas ou tu dis que A1 est égale à la case 1 ? ^^

Bon en tout cas ça fonctionne j'aurai aimé comprendre mais je bloc ...

Du coup j'essai de l'adapter à mon Excel

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("N5:N6:N7")) Is Nothing Then
MsgBox Target.Column
    Select Case Target.Column
        Case Is = 1: Feuil4.Name = Target
        Case Is = 2: Feuil5.Name = Target
        Case Is = 3: Feuil6.Name = Target
    End Select
End If
End Sub

Mais dès que je change ma cellule N5 ou N7 il me met la feuil14.. ^^

Merci !!

Re

Mais je ne comprend pas ou tu dis que A1 est égale à la case 1 ? ^^

Pour expliquer, ce n'est pas par rapport à A1 mais plutôt à la colonne A. Donc 1 pour colonne A et 2 pour colonne B. Le code récupère la colonne. Donc il est normal que dans le cas N5, N6 et N7 on a toujours 14 (Colonne N étant la colonne 14)

Puisqu'il s'agit de N5 à N7, le code peut être celui-ci

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("N5:N7")) Is Nothing Then
    Select Case Target.row
        Case Is = 5: Feuil4.Name = Target
        Case Is = 6: Feuil5.Name = Target
        Case Is = 7: Feuil6.Name = Target
    End Select
End If
End Sub

C'est toujours mieux d'avoir le bon fichier pour donner une solution au premier coup.

Cordialement

Bonjour,

Le code ne fonctionne pas .

J'ai supprimé les images pour pouvoir partager le "bon fichier" Excel ! ^^

22etude-agric.zip (290.75 Ko)

Bonjour,

Quand vous dites il ne fonctionne pas, donnez moi un exemple que je reproduise car si vous changez le mot Blé dans votre feuille parcelle par TITI la feuille 6 est bien renommée.

Maintenant dans votre courrier précédent vous parler de N5 à N7, or dans votre colonne N vous commencez par Blé en ligne 7.... donc normal que cela ne fonctionne pas sur les lignes suivantes

Autant pour moi j'ai fait une erreur désolé.

Ca fonctionne très bien finalement !!

C'est parfait merci beaucoup, pour les explications également ça me permet d'apprendre.

Rechercher des sujets similaires à "renommer feuille fonction"