OVH Cloud OVH Cloud

Nom d'onglet

8 réponses
Avatar
Le Surcitaire
Bonjour,
j'ai touve sur ce forum cette macro qui normalement change le nom de
l'onglet par rapport au contenu d'une cellule mais cela ne marche pas
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Address = "$C$4" Then
If Not IsDate(Target.Value) Then Exit Sub
Target.Parent.Name = Format(Target.Value, "mmmm")
End If
End Sub

Ma cellule C4 est au format date jj/mm/aaaa?

Merci

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre

8 réponses

Avatar
JpPradier
Bonjour Le Surcitaire

Il y a une erreur dans le titre de la macro. Corrige-le comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)

j-p
Avatar
Le Surcitaire
JpPradier avait écrit le 18/10/2004 :
Bonjour Le Surcitaire

Il y a une erreur dans le titre de la macro. Corrige-le comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)

j-p


Tu est sur car si cela est vrai il faut que je mette ma macro dans
chaque feuille et non pas dans the workbook

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre

Avatar
Le Surcitaire
Bonjour Le Surcitaire

Il y a une erreur dans le titre de la macro. Corrige-le comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)

j-p


J'ai essayé mais ca marche pas >:|

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre

Avatar
JpPradier
Oui, et il faut bien mettre cette macro dans le module de ThisWorkbook.

j-p
Avatar
PMO
Bonjour,

Essayez avec le code suivant:

'*****************
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$C$4" Then
If Not IsDate(Target.Value) Then Exit Sub
Target.Parent.Name = Format(Target.Value, "dd_mm_yyyy")
End If
End Sub
'*****************

Cordialement.

PMO
Patrick Morange




Bonjour,
j'ai touve sur ce forum cette macro qui normalement change le nom de
l'onglet par rapport au contenu d'une cellule mais cela ne marche pas
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Address = "$C$4" Then
If Not IsDate(Target.Value) Then Exit Sub
Target.Parent.Name = Format(Target.Value, "mmmm")
End If
End Sub

Ma cellule C4 est au format date jj/mm/aaaa?

Merci

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre




Avatar
Le Surcitaire
JpPradier a exposé le 18/10/2004 :
Oui, et il faut bien mettre cette macro dans le module de ThisWorkbook.

j-p


Ca marche pas

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre

Avatar
Le Surcitaire
PMO avait soumis l'idée :
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$C$4" Then
If Not IsDate(Target.Value) Then Exit Sub
Target.Parent.Name = Format(Target.Value, "dd_mm_yyyy")
End If
End Sub


Ca marche pas le nom de l'onglet ne change pas (ex: si je met s en nom
d'onglet celui ci ne ce change pas en Janvier si je selectionne la
feuille

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre

Avatar
PMO
Bonjour,

1)
Avez-vous tapé une date dans la cellule "C4" de votre feuille ?
D'après le code que vous avez fourni, il est impératif de saisir une DATE
dans la CELLULE "C4" pour que l'onglet soit renommé.

Si ce n'est pas ça:
2)
Vérifiez qu'il n'existe pas (dans la mesure où il y a d'autres codes dans
votre classeur) une désactivation des procédures évènementielles du style
Application.EnableEvents = False
Il faudra, momentanément, réactiver par Application.EnableEvents = True et
tester.

Salutations.

PMO
Patrick Morange





PMO avait soumis l'idée :
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$C$4" Then
If Not IsDate(Target.Value) Then Exit Sub
Target.Parent.Name = Format(Target.Value, "dd_mm_yyyy")
End If
End Sub


Ca marche pas le nom de l'onglet ne change pas (ex: si je met s en nom
d'onglet celui ci ne ce change pas en Janvier si je selectionne la
feuille

--
enlever lesurcitaire
La Vie n'est rien sans la joie de vivre