IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

comment récupérer le nom de la 3ème ou 7ème feuille(etc..) d'un fichier Excel ?


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut comment récupérer le nom de la 3ème ou 7ème feuille(etc..) d'un fichier Excel ?
    Bonjour,
    Je viens de trouver la fonction suivante pour obtenir le nom de la feuille courante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =STXT(CELLULE("nomfichier";A1);TROUVE("]";CELLULE("nomfichier";A1))+1;255)
    Or j'ai besoin de référencer le nom de ma n-ième feuille dans une formule. Je ne veux pas avoir à gérer du code VBA ici.
    Est-ce possible et si oui, comment s'il vous plaît ?
    Merci d'avance,
    Julien

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    Bonjour

    Sans VBA ou usage de code XL4, sauf si tes noms d'onglets suivent une logique, pas de solution par formule.

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Merci pour l'info,
    Dans ce cas, Imaginons que je nomme mes onglets suivant cette logique :
    1_hgdfgjd
    2_kjsdflsfgdfs
    3_ijlksd
    Quel serait du coup la formule ?

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    RE

    Une logique pour moi c'est qu'on peut déduire la position d'un onglet d'après son nom : une numérotation, un nom de mois...

    Là je ne vois pas la logique...

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    J'ai justement rajouté une numérotation au début du nom de la feuille:
    Nom de la PREMIERE feuille : 1_hgdfgjd
    Nom de la DEUXIEME feuille : 2_kjsdflsfgdfs
    Nom de la TROISIEME feuille : 3_ijlksd
    Je dois garder un descriptif dans le nom de chaque feuille. Malgré tout, avec ça, on peut donc bien déduire la position de la feuille d'après son nom.
    Je ne sais juste pas comment faire référence dans une formule à la N-ième feuille (l'équivalent de Sheets(3).Name en VBA pour récupérer la 3ème feuille par exemple).
    En espérant que ce soit plus clair.
    Merci

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par jmclej Voir le message
    Je ne veux pas avoir à gérer du code VBA ici.
    Je doute fortement que ce soit possible, à moins de mettre en paramètre dans la fonction CELLULE une cellule de la feuille souhaitée mais, du coup, ça n'aurait pas grand intérêt.

    Si jamais tu guéris de ta répulsion pour le VBA, voici une fonction personnalisée.
    Mets dans un module la macro suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function NOMONGLET(Numero As Integer) As String
    If Numero <= ActiveWorkbook.Worksheets.Count Then NOMONGLET = Worksheets(Numero).Name Else NOMONGLET = ""
    End Function
    Ensuite, tu pourras utiliser dans ton fichier la fonction NOMONGLET en lui mettant comme paramètre le numéro d'ordre de l'onglet souhaité.
    Par exemple, la formule suivant renverra le nom de l'onglet 3.
    Citation Envoyé par jmclej Voir le message
    Dans ce cas, Imaginons que je nomme mes onglets suivant cette logique :
    1_hgdfgjd
    2_kjsdflsfgdfs
    3_ijlksd
    Euh... quelle logique ?

  7. #7
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    Je n'ai pas de phobie du VBA :-) et je saurais parfaitement gérer mon problème avec effectivement. Mais ce n'est malheureusement pas de mon ressort de l'autoriser ou non, et là il se trouve que c'est interdit où je travaille..
    Quand à la logique, elle est la suivante : le nombre avant l'underscore du nom correspond à sa position. J'ai inséré cette logique car 78chris disait qu'il avait une solution pour faire référence à une feuille à l'intérieur d'une forumle si les noms des feuilles suivaient une logique.

  8. #8
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    Re

    J'entendais par là un texte fixe et une numérotation : exemples

    Ventes_1, Ventes_2, Ventes_3
    2016_1, 2016_2, 2016_3
    Recettes A, Recettes B, Recettes C

    Là on n'a aucun moyen de deviner le texte qui suit ou précède la numérotation... puisqu'il diffère d'un onglet à l'autre

Discussions similaires

  1. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  2. Comment récupérer le nom des colonnes ?
    Par constantin dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/10/2005, 11h29
  3. Réponses: 2
    Dernier message: 23/07/2005, 00h10
  4. [VB.NET] Comment récupérer le nom d'un control avec le focus
    Par jayce007 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/01/2005, 00h53
  5. Réponses: 11
    Dernier message: 16/10/2004, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo