Nom feuille précédente

Sylvie

XLDnaute Accro
Bonsoir à tous,

je connais la formule me permettant d'obtenir, dans une cellule, le nom de la feuille en cours.

Mais existe il une formule similaire me permettant d'obtenir le nom de la feuille placée immédiatement avant la feuille en cours ?

Ex 4 feuilles dans un classeur nommées feuil1 à feuil4
je souhaiterais obtenir en feuille 2 le nom 'feuil1' et en feuille 4 le nom 'feuil3'

Est ce possible ?

Par avance merci

Sylvie
 

Dan

XLDnaute Barbatruc
Bonsoir,

Si tu as en A1 de la feuil1, le nom 'Feuil1', place cette formule en feuille 2 (feuil2):

=GAUCHE(STXT(CELLULE('Nomfichier';Feuil1!A1);TROUVE(']';
CELLULE('nomfichier';Feuil1!A1))+1;32);
5)&DROITE(STXT(CELLULE('Nomfichier';Feuil1!A1);TROUVE(']';
CELLULE('nomfichier';Feuil1!A1))+1;32);1)


elle te donnera le nom 'feuil1'

;)
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

Bon avec une cellule nommée sur la feuille précédente

exemple cellule A1 nommée aa

=STXT(CELLULE('filename';aa);TROUVE(']';CELLULE('filename';aa))+1;32)

Mais bon c'est batard comme solution car cela te donne le nom de la feuille où il y a la cellule nommée. Si le nom de la feuille change le nom dans la formule change mais si tu modifies l'ordre de tes feuilles bah là ça suit pas
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Si les feuilles ont 1 seul chiffre (ou bien 2 chiffres mais de la même dizaine)
=STXT(CELLULE('filename';A1);TROUVE(']';CELLULE('filename';A1))+1;NBCAR(STXT(CELLULE('filename';A1);TROUVE(']';CELLULE('filename';A1))+1;32))-1)&DROITE(STXT(CELLULE('filename';A1);TROUVE(']';CELLULE('filename';A1))+1;32))-1

Si elles ont 2 chiffres et là on peut passer de 10 à 09
=STXT(CELLULE('filename';A1);TROUVE(']';CELLULE('filename';A1))+1;NBCAR(STXT(CELLULE('filename';A1);TROUVE(']';CELLULE('filename';A1))+1;32))-2)&TEXTE(DROITE(STXT(CELLULE('filename';A1);TROUVE(']';CELLULE('filename';A1))+1;32);2)-1;'00')

Reste à raccourcir tout ça
 

Sylvie

XLDnaute Accro
Bonjour Dan, Pascal76, Monique, le forum

c'est quand même terrible ton histoire du chat, Pascal ! :) Brrrrr ...

Merci pour vos solutions à tous les trois qui fonctionnent mais qui sous entendent cependant que les noms des feuilles comportent des chiffres à droite.
Il semble que sans une ch'tite macro, il va m'être difficile de récupérer le nom de la feuille précédente (si je n'ai pas de suite arithmetique sur le dernier caractère du nom de feuille)

Merci pour votre aide

et excellente journée à tous

Sylvie
 

ChTi160

XLDnaute Barbatruc
Salut Sylvie
bonjour le Fil
peux tu nous dire,ce que tu veux exactement.
Mettre simplement le nom de la feuille précédente dans une cellule des feuilles cela à l'ouverture du fichier etc .... explique nous un peu lol
bisous pour Sylvie
merci et bonne journée
 

Sylvie

XLDnaute Accro
Bonjour ChTi160, le fil, le forum

c'est marrant quand même, car en écrivant sur mon post précédent '... il me faudrait une ch'tite macro' j'étais quasi certaine que Ch'Ti160 l'entendrais. Gagné !!!

A ta demande Jean Marie je reformule donc ce que je souhaite : obtenir dans une cellule de la feuille 2,4,6, 8 etc le nom de la feuille immédiatement précédente soit 1,3,5,7 etc

Merci et Bonne journée
Bises également ChTi160

Sylvie
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Sylvie, Monique, Dan, Pascal, Jean-Marie, le Forum

Si j'ai bien compris, on ne veut le Nom de la feuille précédente que sur les Feuille dont l'Index est pair...
(Sinon Supprimer le Second If)


Code à mettre dans le Private Module de 'ThisWorkBook', il écrira automatiquement le Nom de la Feuille précédente en 'A1' des feuilles dont l'Index est Pair.



Private Sub Workbook_SheetActivate(ByVal Sh As Object)

If Not Sh.Index = 1 Then
   
If Sh.Index Mod Sh.Index / 2 = 0 Then
        Sh.Range('A1') = Worksheets(Sh.Index - 1).Name
   
End If
End If

End Sub


Bonne Journée
(Je file chez mon Kiné)
[ol]@+Thierry[/ol]
 

Sylvie

XLDnaute Accro
Bonjour Thierry, le fil, le forum

tu es bien matinal Thierry !!! Rien de grave j'espère :unsure: C'est pour le rendez vous chez le kiné ? Ah je comprends mieux !! :)

Je me souviens d'un de tes cours sur les index des feuilles à ne pas confondre avec le nom de la feuille. Tu vois que le bourrage de mon petit crane n'a pas été inutile :)

Un grand merci pour ce petit code qui va (je l'espère) me permettre de progresser dans l'usine à gaz que je batis :p

A+
Sylvie
 

pierrejean

XLDnaute Barbatruc
bonjour tous

bien apres la bataille mais peut-etre un peu moins esoterique

Code:
Private Sub Workbook_Open()
Dim n as Integer
For n = 2 To Sheets.Count Step 2
Sheets(n).Range('A1') = Sheets(n - 1).Name
Next n
End Sub

edit: eh oui !!
je recopierai cent fois
'je dois declarer mes variables
et correctement en plus !!!'

Message édité par: pierrejean, à: 22/04/2006 14:16
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Sylvie, Monique, Dan, Pascal, Jean-Marie, PierreJean, le Forum

Sorry je n'ai pas eu l'occasion de repasser depuis hier...

lol@JeanMarie ;)

bises@Sylvie, et oui les Index de Feuilles, je me souviens bien de cet échange avec toi, pour un sacré UserForm qui a fait 'couler pas mal d'encre' (ou d'ancres si on voit les choses façon marine !)

VousNavezRienAdéclarer@PierreJean, ... le 'n' il passe la frontière sans rien déclarer ? lol
(J'ai été obliger de regarder sur le WikiPedia pour Esotérique car on me l'avait pas faite encore celle-là lol)

Bon Wouik Hand !
[ol]@+Thierry[/ol]
 

Discussions similaires

Statistiques des forums

Discussions
312 153
Messages
2 085 799
Membres
102 980
dernier inscrit
brossadan