Fonction indirect dans formule de calcul
Résolu/Fermé
lecrol
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
-
4 janv. 2015 à 20:46
via55 Messages postés 14041 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 février 2023 - 4 janv. 2015 à 23:19
via55 Messages postés 14041 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 février 2023 - 4 janv. 2015 à 23:19
A voir également:
- Fonction indirect dans formule de calcul
- Formule excel - Guide
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Formule de politesse mail anglais - Guide
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer automatiquement. trouvez ce qu'elle veut faire puis proposez une formule à recopier vers le bas dans la colonne a. quelle formule sera en a9 ? - Forum Excel
5 réponses
via55
Messages postés
14041
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 février 2023
2 552
4 janv. 2015 à 21:33
4 janv. 2015 à 21:33
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
lecrol
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
23
4 janv. 2015 à 21:45
4 janv. 2015 à 21:45
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
via55
Messages postés
14041
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 février 2023
2 552
4 janv. 2015 à 22:14
4 janv. 2015 à 22:14
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
lecrol
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
23
4 janv. 2015 à 22:22
4 janv. 2015 à 22:22
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
via55
Messages postés
14041
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 février 2023
2 552
4 janv. 2015 à 22:27
4 janv. 2015 à 22:27
Oui
la fonction CELLULE peut renvoyer plusieurs paramètres comme l'adresse, le type ..;; voir aide Excel
Bonne suite
la fonction CELLULE peut renvoyer plusieurs paramètres comme l'adresse, le type ..;; voir aide Excel
Bonne suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lecrol
Messages postés
200
Date d'inscription
samedi 4 juillet 2009
Statut
Membre
Dernière intervention
25 juillet 2016
23
Modifié par lecrol le 4/01/2015 à 22:52
Modifié par lecrol le 4/01/2015 à 22:52
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
via55
Messages postés
14041
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 février 2023
2 552
4 janv. 2015 à 23:19
4 janv. 2015 à 23:19
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 !