Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

Excel Forum d'entraide sur Excel

Réponse
 
Outils de la discussion
Vieux 25/09/2008, 16h58   #1 (permalink)
Membre du Club
 
Date d'inscription: mars 2008
Messages: 97
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.
did103 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/09/2008, 17h34   #2 (permalink)
Membre éclairé
 
Avatar de casavba
 
Date d'inscription: juillet 2007
Localisation: Quelque part en Hexagone
Messages: 348
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 ?
casavba est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/09/2008, 18h02   #3 (permalink)
Membre du Club
 
Date d'inscription: mars 2008
Messages: 97
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...
did103 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/09/2008, 18h05   #4 (permalink)
Invité de passage
 
Date d'inscription: septembre 2008
Messages: 8
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 :
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

Dernière modification par fring ; 25/09/2008 à 19h18 Motif: fusion de 2 messages + ajout des balises [code]
titi34 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/09/2008, 09h06   #5 (permalink)
Membre du Club
 
Date d'inscription: mars 2008
Messages: 97
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...
did103 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide