Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

nom de l'onglet

0 views
Skip to first unread message

DDA 22

unread,
Nov 8, 2000, 3:00:00 AM11/8/00
to
Bonjour les pros que vous êtes,
je voudrais que le nom d'une feuille prenne la valeur d'une cellule de cette
même feuille ; y-a-t-il une astuce (sans macro si possible..) ? je travaille
sur excel 5 et 2000 et je sais qu'il y a parfois des variations. Merci de
m'indiquer pour les deux.
Merci à vous
A+
Stéphanie

Laurent Longre

unread,
Nov 8, 2000, 3:00:00 AM11/8/00
to

DDA 22 a écrit :


>
> je voudrais que le nom d'une feuille prenne la valeur d'une cellule de cette
> même feuille ; y-a-t-il une astuce (sans macro si possible..) ? je travaille
> sur excel 5 et 2000 et je sais qu'il y a parfois des variations. Merci de
> m'indiquer pour les deux.

Sans macro : impossible.

Avec macro...

1) Excel 5 :

Private Sub CréerEvt()
ActiveSheet.OnEntry = "Feuille_OnEntry"
End Sub

Private Sub DétruireEvt()
ActiveSheet.OnEntry = ""
End Sub

Private Sub Feuille_OnEntry()
If ActiveCell.Address = "$A$1" Then ActiveSheet.Name = [A1]
End Sub

La procédure CréerEvt indique à Excel de déclencher automatiquement la
procédure Feuille_OnEntry dès qu'on modifie le contenu d'une cellule
dans la feuille active. Il suffit d'exécuter CréerEvt une seule fois et
d'enregistrer ensuite le classeur. DétruireEvt détruit cet événement.

Attention, testé sous Excel 2000 (pas d'Excel 5 sous la main ici). Si ça
marche mal, fais-le moi savoir.

2) Excel 2000 :

Fais un clic droit sur l'onglet de la feuille de calcul -> "Visualiser
le code" et copie la procédure suivante dans la fenêtre de code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then _
Me.Name = [A1]
End Sub

(en remplaçant bien sûr A1 par la cellule qui doit donner le nom de la
feuille).

Note que ces deux procédures, celle pour Excel 5 comme celle pour Excel
2000, ne se déclenchent que si on entre à la main une nouvelle valeur
dans la cellule concernée. Pas si son contenu est modifié par le biais
d'une formule. Dans ce cas, il faudrait utiliser d'autres macros.

Bonne chance,

Laurent

0 new messages