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 :

Utiliser le numéro de feuille plutôt que son nom


Sujet :

Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 203
    Points : 175
    Points
    175
    Par défaut Utiliser le numéro de feuille plutôt que son nom
    Bonjour,

    Est-il possible d'utiliser dans une formule standard le numéro d'une feuille plutôt que son nom

    Je voudrai écrire quelque chose comme :
    sheets(2)!C4
    au lieu de
    feuil2!C4

    Ce n'est bien sûr pas du VBa.

  2. #2
    Membre averti Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 455
    Points : 323
    Points
    323
    Par défaut
    Bonjour,
    Peux - tu nous dire quel est ton objectif ?

    Je vois pas l'intérêt sans tes précisions.

    Tes feuilles Excel comment elles sont nommées ?

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 203
    Points : 175
    Points
    175
    Par défaut
    Hum, un peu compliqué à expliquer...

    J'ai une dizaines de feuilles de définition (tableaux avec diverses informations).
    Par contre, dans certaines feuilles, un tableau n'existe pas.
    Je lance ensuite une macro qui donne aux feuilles leur numéro d'ordre quand elles ont ce tableau:
    feuil1 avec tableau - 1
    feuil2 avec tableau - 2
    feuil3 sans tableau - 2
    feuil4 avec tableau - 3
    ...

    Je me sers ensuite d'une autre feuille avec des formules pour construire du code au format XML. C'est pour ces formules que je voudrai utiliser le numéro d'ordre trouvé précédemment (ou bien le nom de la feuille, écrit dans une cellule bien spécifique).
    En fait, c'est une sorte d'indirection qu'il me faut:
    indiquer dans une cellule le numéro (ou le nom) de feuille qui doit être utilisé par la formule.
    Dans mon ex, les formules de la feuil3 doivent pointer sur feuil2.

    Suis-je assez clair?

    Mes noms de feuilles sont bien sûr spécifiques (feuilX était pour l'exemple) et ne peuvent pas spécialement servir...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    il est possible d'appeler la feuille par son numéro ou indice, mais je ne connais pas de fonction de feuille de calcul qui le permette.
    Il faut d'abord créer une fonction VB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function NomDeFeuille(Indice As Integer) As String
    On Error GoTo erreur
     
        If Indice < 1 Then GoTo erreur
        If Indice > ActiveWorkbook.Sheets.Count Then GoTo erreur
        NomDeFeuille = ActiveWorkbook.Sheets(Indice).Name
        GoTo EndNomDeFeuille
     
    erreur:
        MsgBox "la feuille n'existe pas"
        NomDeFeuille = ""
     
    EndNomDeFeuille:
    End Function
    ensuite dans la feuille on appelle la fonction:
    =NomDeFeuille(2) & "!A4"

    l'adresse de la cellule est bien
    =NomDeFeuille(2) & "!A4"

    mais pour lire la valeur de la cellule il faut
    =INDIRECT(NomDeFeuille(2) & "!B29")

    Voilà!
    Bon courage

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 203
    Points : 175
    Points
    175
    Par défaut
    Merci titi de l'Hérault...

    J'utilise effectivement des fonctions pour compléter les formules d'excel.
    Pour mon pb cela ne s'appliquait malheureusement pas, car le champ de la formule sous excel est un champ variable qui me permet de générer du code XML.
    J'ai quand même trouvé la solution, un peu comme je faisais déjà auparavant.
    J'écris dans chaque feuille le nom de feuille voulu dans 'A1' et la macro VB vient remplacer le nom de feuille de la formule par le texte de cette cellule.
    Peut-être pas très propre, mais c'est efficace...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] numéro de la feuille plutot que son nom dans une formule
    Par docjo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/10/2010, 15h34
  2. Réponses: 7
    Dernier message: 29/08/2010, 23h13
  3. activer une feuille à partir de son nom ou d'une valeur de cellule
    Par rom05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/04/2008, 17h58
  4. Récupérer le numéro du mois à partir de son nom
    Par ceuce dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 13/09/2007, 16h44
  5. Réponses: 1
    Dernier message: 31/05/2006, 17h59

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