Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nom de l'onglet

8 réponses
Avatar
jojolapin
Bonjour

Je cherche un moyen de nommer un onglet comme la case A1

En fait j'ai plusieurs feuilles , dont les noms vont changer chaque année

J'aimerai qu'en changant la valeur de la case A1 (de la feuille0) cela
change le nom de l'onglet1
J'aimerai qu'en changant la valeur de la case A2 (de la feuille0) cela
change le nom de l'onglet2
J'aimerai qu'en changant la valeur de la case A3 (de la feuille0) cela
change le nom de l'onglet3
.....
J'aimerai qu'en changant la valeur de la case A10 (de la feuille0) cela
change le nom de l'onglet10
....
J'aimerai qu'en changant la valeur de la case A20 (de la feuille0) cela
change le nom de l'onglet20

Merci par avance pour cette demande


Ps: J'utilise les valeurs des cases A1 à A10 à plusieurs endroits
Cela m'éviterait de renommer plusieurs onglets en plus des cases A1 à A20

8 réponses

Avatar
FFO
Salut à toi

Dans le VBA de la feuille0 mets ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row < 21 And Target.Column = 1 Then
Sheets(Target.Row).Name = Target
End If
End Sub

Celà devrait convenir

Dis moi !!!!!
Avatar
jojolapin
je ne suis pas très doué en macro
peux tu m'aider sur la démarche pour installer une macro
Merci avance

"FFO" a écrit dans le message de news:

Salut à toi

Dans le VBA de la feuille0 mets ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row < 21 And Target.Column = 1 Then
Sheets(Target.Row).Name = Target
End If
End Sub

Celà devrait convenir

Dis moi !!!!!
Avatar
FFO
Rebonjour à toi

Actives à l'écran la feuille0
Sur le nom de l'onglet fait un click droit et sélectionnes "Visualiser
le code"
Dans la fenêtre qui vient de s'ouvrir côté droit recopies mon code
Refermes cette fenêtre (croix rouge)
Fais des essais colonne A de la ligne 1 à 20 en feuille0

Tiens moi informé du résultat !!!!!
Avatar
jojolapin
"FFO" a écrit dans le message de news:

Rebonjour à toi

Actives à l'écran la feuille0
Sur le nom de l'onglet fait un click droit et sélectionnes "Visualiser
le code"
Dans la fenêtre qui vient de s'ouvrir côté droit recopies mon code
Refermes cette fenêtre (croix rouge)
Fais des essais colonne A de la ligne 1 à 20 en feuille0

Tiens moi informé du résultat !!!!!

---
Je vais tester
Je te tiens au cournat
Avatar
jojolapin
"FFO" a écrit dans le message de news:

Rebonjour à toi

Actives à l'écran la feuille0
Sur le nom de l'onglet fait un click droit et sélectionnes "Visualiser
le code"
Dans la fenêtre qui vient de s'ouvrir côté droit recopies mon code
Refermes cette fenêtre (croix rouge)
Fais des essais colonne A de la ligne 1 à 20 en feuille0

Tiens moi informé du résultat !!!!!
--------------------------
Je ne dois pas être doué car je ne vois pas comme l'action s'éxécute

Sinon qu'est ce que tu entends par "fais des essais"

Merci par avance
Avatar
jojolapin
"FFO" a écrit dans le message de news:

Rebonjour à toi

Actives à l'écran la feuille0
Sur le nom de l'onglet fait un click droit et sélectionnes "Visualiser
le code"
Dans la fenêtre qui vient de s'ouvrir côté droit recopies mon code
Refermes cette fenêtre (croix rouge)
Fais des essais colonne A de la ligne 1 à 20 en feuille0

Tiens moi informé du résultat !!!!!

-----------
Bonjour
il n'y a pas de changement
De plus je ne vois pas comment on lie la case à un onglet particulier
a+
Avatar
michdenis
Bonjour,

Dans la feuille où tu as inscrit le nom des onglets de feuille de ton
fichier, ajoute le code suivant au module de cette feuille.

Le code suppose que la feuil1 est représente l'index 1 c'est-à-dire
situé comme première feuille à l'extrême gauche des feuilles, ainsi
de suite pour le reste des feuilles.
Dans la liste de A1:Ax représente le nom des feuilles dans le même
ordre de leur position dans le classeur.

Tu devrais protéger le "CLASSEUR" afin d'éviter que des usagers
modifient l'ordre des feuilles.

'Déclaration de la variable dans le haut du module
Dim Rg As Range
'-----------------------------------

Private Sub Worksheet_Change(ByVal Target As Range)

For Each cell In Intersect(Target, Range("A1:A" & Sheets.Count))
If cell <> "" Then
Sheets(cell.Row).Name = cell.Value
End If
Next

End Sub
'-----------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Rg Is Nothing Then
Set Rg = ActiveCell
Else
Set Rg = Intersect(Target, Range("A1:A" & Sheets.Count))
End If
End Sub
'-----------------------------------

--
MichD
--------------------------------------------


"jojolapin" a écrit dans le message de groupe de discussion :
4cb7e18c$0$7705$
Bonjour

Je cherche un moyen de nommer un onglet comme la case A1

En fait j'ai plusieurs feuilles , dont les noms vont changer chaque année

J'aimerai qu'en changant la valeur de la case A1 (de la feuille0) cela
change le nom de l'onglet1
J'aimerai qu'en changant la valeur de la case A2 (de la feuille0) cela
change le nom de l'onglet2
J'aimerai qu'en changant la valeur de la case A3 (de la feuille0) cela
change le nom de l'onglet3
.....
J'aimerai qu'en changant la valeur de la case A10 (de la feuille0) cela
change le nom de l'onglet10
....
J'aimerai qu'en changant la valeur de la case A20 (de la feuille0) cela
change le nom de l'onglet20

Merci par avance pour cette demande


Ps: J'utilise les valeurs des cases A1 à A10 à plusieurs endroits
Cela m'éviterait de renommer plusieurs onglets en plus des cases A1 à A20
Avatar
jojolapin
Merci pour cette possibilité
Mais je vois que tu dis de protéger pour éviter l'odre des onglets.
C'est moi qui l'utilise mais j'ai besoin de modifier l'ordre
Je vais voir

"michdenis" a écrit dans le message de news:
i9mp4n$876$
Bonjour,

Dans la feuille où tu as inscrit le nom des onglets de feuille de ton
fichier, ajoute le code suivant au module de cette feuille.

Le code suppose que la feuil1 est représente l'index 1 c'est-à-dire
situé comme première feuille à l'extrême gauche des feuilles, ainsi
de suite pour le reste des feuilles.
Dans la liste de A1:Ax représente le nom des feuilles dans le même
ordre de leur position dans le classeur.

Tu devrais protéger le "CLASSEUR" afin d'éviter que des usagers
modifient l'ordre des feuilles.

'Déclaration de la variable dans le haut du module
Dim Rg As Range
'-----------------------------------

Private Sub Worksheet_Change(ByVal Target As Range)

For Each cell In Intersect(Target, Range("A1:A" & Sheets.Count))
If cell <> "" Then
Sheets(cell.Row).Name = cell.Value
End If
Next

End Sub
'-----------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Rg Is Nothing Then
Set Rg = ActiveCell
Else
Set Rg = Intersect(Target, Range("A1:A" & Sheets.Count))
End If
End Sub
'-----------------------------------

--
MichD
--------------------------------------------


"jojolapin" a écrit dans le message de groupe de
discussion :
4cb7e18c$0$7705$
Bonjour

Je cherche un moyen de nommer un onglet comme la case A1

En fait j'ai plusieurs feuilles , dont les noms vont changer chaque année

J'aimerai qu'en changant la valeur de la case A1 (de la feuille0) cela
change le nom de l'onglet1
J'aimerai qu'en changant la valeur de la case A2 (de la feuille0) cela
change le nom de l'onglet2
J'aimerai qu'en changant la valeur de la case A3 (de la feuille0) cela
change le nom de l'onglet3
.....
J'aimerai qu'en changant la valeur de la case A10 (de la feuille0) cela
change le nom de l'onglet10
....
J'aimerai qu'en changant la valeur de la case A20 (de la feuille0) cela
change le nom de l'onglet20

Merci par avance pour cette demande


Ps: J'utilise les valeurs des cases A1 à A10 à plusieurs endroits
Cela m'éviterait de renommer plusieurs onglets en plus des cases A1 à A20