XL 2010 Comment écrire tous les noms des onglets dans la feuille?

Starnour

XLDnaute Nouveau
Bonjour:
Si on'a plusieurs onglets .comment les écrire d'une façon automatique dans la feuille et sans utiliser VB?.
Cordialement...
 

Pièces jointes

  • exp5.JPG
    exp5.JPG
    51.2 KB · Affichages: 21
  • Exemple.xlsx
    15.7 KB · Affichages: 10

R@chid

XLDnaute Barbatruc
Bonjour @ tous,
Salut Djidji,

Dans le gestionnaire de noms, tu vas créer un champ nommé "Lst_Onglets" avec cette formule :
VB:
=SI(ALEA();STXT(LIRE.CLASSEUR(1);TROUVE("]";LIRE.CLASSEUR(1))+1;99))

Puis, en C2 :
Code:
=SIERREUR(INDEX(Lst_Onglets;LIGNE());"")
@ tirer vers le bas


Cordialement
 

Pièces jointes

  • Starnour_V1.xlsm
    19.8 KB · Affichages: 20
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonsoir
en liste vertical je reprend le model de @djidji59430
le nom =nom_onglets
le referto= =lire.classeur(1)
et la formule a étendre
=SIERREUR(SUBSTITUE(INDEX(nom_onglets;LIGNE()-5);"[Classeur1]";"");"")
5 dans la formule c'est le numero de ligne au dessus de là ou commence la liste
en liste horizontale
sélectionner x cells sur une ligne et mettre cette formule dans la bar de formule
=nom_onglets
valider en matricielle CTRL+Maj+ENTER
voir ajouter la substitution aussi

alors une chose étonnante dans 2013
la fonction lire.classeur n'est pas implémenter dans la liste de fonction mais visiblement présente puisqu'elle fonctionne dans un name
 

R@chid

XLDnaute Barbatruc
Bonsoir @ tous,
@patricktoulon
LIRE.CLASSEUR() n'apparait pas dans Excel, elle fait partie des Macros XL4, on est censé la définir dans le gestionnaire de noms.

Le =SI(ALEA();....) dans la formule n'est pas superfétatoire, il est là pour permettre le recalcul en cas d'ajout de suppression où de déplacement d'un onglet.

Voir PJ

Cordialement
 

Pièces jointes

  • Starnour_V2.xlsm
    19.8 KB · Affichages: 13

Amilo

XLDnaute Accro
Bonjour à tous,

Une autre proposition par formules et lien hypertexte en colonne F de l'onglet "Liste" :

1- Formule à placer dans le gestionnaire de noms :
VB:
=REMPLACER(LIRE.CLASSEUR(1);1;CHERCHE("]";LIRE.CLASSEUR(1+0*MAINTENANT()));"")

2- Formule à placer dans la cellule F2 et à turer vers le bas :
Code:
=SIERREUR(LIEN_HYPERTEXTE("#"&INDEX(Liste_Onglets;LIGNE(2:2))&"!A1";INDEX(Liste_Onglets;LIGNE(2:2)));"")

Cordialement
 

Pièces jointes

  • Liste_Onglets.xlsm
    20.8 KB · Affichages: 16

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 069
Membres
103 110
dernier inscrit
Privé