Nom feuille précédente

  • Initiateur de la discussion Initiateur de la discussion Sylvie
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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'

😉
 
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
 
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
 
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
 
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
 
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
 
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]
 
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 😛

A+
Sylvie
 
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
 
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]
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
314
Réponses
15
Affichages
793
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
319
Retour