Fonction indirect dans formule de calcul
Résolu
lecrol
Messages postés
200
Date d'inscription
Statut
Membre
Dernière intervention
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai besoin de lumières, svp
Je travaille entre deux dossiers qui ont chacun 12 feuilles du même nom, de janvier à décembre
Je travaille sur deux dossiers qui ont chacun 12 feuilles du même nom, de janvier à décembre
Pour ne pas changer 12 fois mes formules de calcul, j'aimerais utiliser le nom de la feuille par la fonction indirect (le nom de l'onglet serait placé en B1, par exemple, avec un indirect ("B1")
Entre les quottes et les doubles quottes, je bataille depuis plusieurs jours et je ne trouve pas la syntaxe correcte.
Voici la formule la plus complexe que j'utilise de feuille à feuille, entre les deux dossiers :
=SI('[Rl-2015- Base Access (1).xls]Janvier'!E3<>"";'[Rl-2015- Base Access (1).xls]Janvier'!E3;"")
Merci de votre dépannage
Cordialement,
Roland
J'ai besoin de lumières, svp
Je travaille entre deux dossiers qui ont chacun 12 feuilles du même nom, de janvier à décembre
Je travaille sur deux dossiers qui ont chacun 12 feuilles du même nom, de janvier à décembre
Pour ne pas changer 12 fois mes formules de calcul, j'aimerais utiliser le nom de la feuille par la fonction indirect (le nom de l'onglet serait placé en B1, par exemple, avec un indirect ("B1")
Entre les quottes et les doubles quottes, je bataille depuis plusieurs jours et je ne trouve pas la syntaxe correcte.
Voici la formule la plus complexe que j'utilise de feuille à feuille, entre les deux dossiers :
=SI('[Rl-2015- Base Access (1).xls]Janvier'!E3<>"";'[Rl-2015- Base Access (1).xls]Janvier'!E3;"")
Merci de votre dépannage
Cordialement,
Roland
A voir également:
- Fonction indirect dans formule de calcul
- Fonction si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
5 réponses
Bonsoir Roland
En B1 : '[Rl-2015- Base Access (1).xls]
Formule :
=INDIRECT(B1 & "Janvier'!E3") pour avoir la valeur de E3
ou si tu veux récupérer Janvier dans le nom de l'onglet :
=INDIRECT(B1& DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier"))) &"'!E3")
Cdlmnt
En B1 : '[Rl-2015- Base Access (1).xls]
Formule :
=INDIRECT(B1 & "Janvier'!E3") pour avoir la valeur de E3
ou si tu veux récupérer Janvier dans le nom de l'onglet :
=INDIRECT(B1& DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier"))) &"'!E3")
Cdlmnt
Super ! C'est tout con mais j'aurais du y penser Mettre le chemin complet avec le nom de feuille concerné dans B1 pour le récupérer avec un indirect.
Je mets bien une quotte au début et à la fin ? Ainsi : '[Rl-2015- Base Access (1).xls]'
Bravo et merci
Par contre, je ne pige pas ta seconde formule.
C'est vrai que ça serait plus sioux de récupérer directement le nom de feuille départ et arrivée, en fait le même ! Mais ça, je ne sais pas faire dans une formule (en VBA, je saurais mais ça ne me convient pas)
Peux-tu, stp, m'expliquer ta seconde formule ?
Je suppose que en "nomfichier", je mettrai " '[Rl-2015- Base Access (1).xls]' " Exact ? Mais je ne pige pas plus le restant de la formule .
Merci encore de tes lumières
Roland
Je mets bien une quotte au début et à la fin ? Ainsi : '[Rl-2015- Base Access (1).xls]'
Bravo et merci
Par contre, je ne pige pas ta seconde formule.
C'est vrai que ça serait plus sioux de récupérer directement le nom de feuille départ et arrivée, en fait le même ! Mais ça, je ne sais pas faire dans une formule (en VBA, je saurais mais ça ne me convient pas)
Peux-tu, stp, m'expliquer ta seconde formule ?
Je suppose que en "nomfichier", je mettrai " '[Rl-2015- Base Access (1).xls]' " Exact ? Mais je ne pige pas plus le restant de la formule .
Merci encore de tes lumières
Roland
Re
1) l'apostrophe se met en début mais pas à la fin car elle ne vient qu'après le nom de la feuille et avant le !. On la retrouve là dans mes formules :
& "Janvier'!E3" ou &"'!E3"
2) la fonction CELLULE("nomfichier") renvoie le nom complet du fichier avec son chemin de la feuille dans laquelle on est
par exemple : D:\EXCEL\Macros\[extractionBase.xlsm]Feuil1
Comme le nom de la feuille est en dernier après le ] je l'extrait avec
DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier")))
qui prend les x caractères à droite du nom du fichier , le x étant calculé en soustrayant du nombre de caracteres total ( NBCAR(CELLULE("nomfichier") ) la position du ] trouvée par TROUVE("]";CELLULE("nomfichier"))
Cdlmnt
1) l'apostrophe se met en début mais pas à la fin car elle ne vient qu'après le nom de la feuille et avant le !. On la retrouve là dans mes formules :
& "Janvier'!E3" ou &"'!E3"
2) la fonction CELLULE("nomfichier") renvoie le nom complet du fichier avec son chemin de la feuille dans laquelle on est
par exemple : D:\EXCEL\Macros\[extractionBase.xlsm]Feuil1
Comme le nom de la feuille est en dernier après le ] je l'extrait avec
DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier")))
qui prend les x caractères à droite du nom du fichier , le x étant calculé en soustrayant du nombre de caracteres total ( NBCAR(CELLULE("nomfichier") ) la position du ] trouvée par TROUVE("]";CELLULE("nomfichier"))
Cdlmnt
Merci.
C'est très clair, très précis et ... super rapide !!
Chapeau et bravo
Si je comprends bien, "nom fichier" est une constante excel, donc. Exact ?
J'essaie tout ça et je te tiens au courant
Mais encore merci.
Roland
C'est très clair, très précis et ... super rapide !!
Chapeau et bravo
Si je comprends bien, "nom fichier" est une constante excel, donc. Exact ?
J'essaie tout ça et je te tiens au courant
Mais encore merci.
Roland
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je n'ai pas fini de bidouiller, à mon avis
Le pb est d'intégrer, avec les bonnes quottes et double quottes, une formule comme
INDIRECT(B1 & "Janvier'!"), qui me donne le nom dossier et feuille
dans ma formule de base:
=SI('D:\RL_Donnees\La République\Notes de frais\Notes de frais 2015\[Rl-2015- Base Access (1).xls]Janvier'!E3<>"";'D:\RL_Donnees\La République\Notes de frais\Notes de frais 2015\[Rl-2015- Base Access (1).xls]Janvier'!E3;"")
ET je n'ose pas penser à celle qui, une fois intégrée (correctement), me donnerait en plus le nom de l'onglet : INDIRECT(B1& DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier"))) &"'!E3")
Un vrai casse-tête !
Mais je ne désespère pas.
Encore merci de ta gentillesse
Roland
Le pb est d'intégrer, avec les bonnes quottes et double quottes, une formule comme
INDIRECT(B1 & "Janvier'!"), qui me donne le nom dossier et feuille
dans ma formule de base:
=SI('D:\RL_Donnees\La République\Notes de frais\Notes de frais 2015\[Rl-2015- Base Access (1).xls]Janvier'!E3<>"";'D:\RL_Donnees\La République\Notes de frais\Notes de frais 2015\[Rl-2015- Base Access (1).xls]Janvier'!E3;"")
ET je n'ose pas penser à celle qui, une fois intégrée (correctement), me donnerait en plus le nom de l'onglet : INDIRECT(B1& DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier"))) &"'!E3")
Un vrai casse-tête !
Mais je ne désespère pas.
Encore merci de ta gentillesse
Roland
Décompose , de plus ça permet de plus facilement retrouver les erreurs :
En B1 : 'D:\RL_Donnees\La République\Notes de frais\Notes de frais 2015\[Rl-2015- Base Access (1).xls]
En B2: DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier")))
Formule : SI(INDIRECT(B1 & B2 & "'!E3")<>"";INDIRECT(B1 & B2 & "'!E3");"")
Courage !
En B1 : 'D:\RL_Donnees\La République\Notes de frais\Notes de frais 2015\[Rl-2015- Base Access (1).xls]
En B2: DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier")))
Formule : SI(INDIRECT(B1 & B2 & "'!E3")<>"";INDIRECT(B1 & B2 & "'!E3");"")
Courage !