Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction indirect ????

  • Initiateur de la discussion Initiateur de la discussion gnina1973
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gnina1973

XLDnaute Occasionnel
Bonjour

Dans le fichier joint la formule calculé est une formule de recherche matricielle combiné avec une fonction INDIRECT
J'ai recupéré cette fonction sur un tutoriel , pourtant je ne comprends tjs pas la logique de la fonction INDIRECT , notamment cette parti de la fonction INDIRECT(C5 &"!A2:A20")
Qui peut m'expliquer de facon claire les arguments de la fonction
car à ce jour cela me semble trop abstrait

merci
 

Pièces jointes

Re : Fonction indirect ????

Bonjour gnina1973,

En fait la fonction indirect renvoie le contenu de l'adresse passée en argument. Dans ton exemple, tu écris :
Code:
INDIRECT(C5&"!B2:B20")
Or, en C5 il y a "janvier". Cela revient donc à écrire :
Code:
"janvier!B2:B20"
Ce qui correspond à la plage "B2:B20" de la feuille "janvier".
J'espère avoir été clair.
A+

Edit : Bises Mireille, bonjour Hoerwind.
 
Dernière édition:
Re : Fonction indirect ????

Bonjour,

INDIRECT() te permet de lire le contenu de ta cellule afin de t'en servir dans la suite de ta formule.

En C5 tu as janvier, qui correspond au nom d'un de tes onglets
La chaîne C5&"!B2:B20" va donc renvoyer ceci: "janvier!B2:B20"

INDIRECT() permet d'interpréter cette chaîne pour aller lire le contenu des cellules B2 à B20 de l'onglet janvier.

Une astuce pour détailler les formules, le touche F9
Dans ta formule INDIRECT(C5&"!B2:B20") sélectionne dans la barre de formule ce qui se trouve entre les parenthèses soit exactement ceci: C5&"!B2:B20", puis appuie sur F9.
Tu verras s'afficher dans ta barre de formules: "janvier!B2:B20"

Maintenant, si tu sélectionnes toute cette partie: INDIRECT(C5&"!B2:B20") et appuies sur F9, tu verras apparaître toutes les valeurs de cette plage B2:B20 de l'onglet janvier soit {50;34;33;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}
Cela te permet de décortiquer plus facilement les formules.

En espérant que cela pourra t'aider à y voir plus clair ...

Bonne soirée,

mth

Edit: 🙂 🙂 Bonjour FredO0 🙂 🙂
Un peu à la bourre moi ... mais bien contente de te croiser 🙂
@ +
m

Edit 2: yess ... plein de monde, 🙂 🙂hello hoerwind 🙂 🙂
 
Dernière édition:
Re : Fonction indirect ????

Bonjour,

La formule en C9 :
=INDEX(INDIRECT(C5&"!B2:B20");EQUIV(C3;INDIRECT(C5 &"!A2:A20");0))

est la même que celle-ci :
=INDEX(janvier!B2:B20;EQUIV(C3;janvier!A2:A20);0)

Au lieu d'écrire : janvier!B2:B20
il est fait référence au contenu de la cellule C5 qui contient janvier.
INDIRECT permet de concaténer plusieurs valeurs de sorte à écrire la référence d'une cellule

Cette façon de procéder permet de modifier le nom de la feuille à seul endroit au lieu de devoir le faire à plusieurs endroits dans la formule.
Cette procédure est encore plus avantageuse lorsque les noms de feuilles peuvent être sélectionnées par liste déroulante.

Vois aussi l'aide MS (touche clavier F1) au sujet de la fonction INDIRECT

Édition : salut mth et fred0o, pas vu !
Mieux vaut trois façons d'expliquer la même chose !
 
Dernière édition:
Re : Fonction indirect ????

Bonjour à tous,

Et comme je ne peux pas m'empêcher d'en rajouter une couche, je préciserais que si on utilise INDIRECT pour mettre en variable le nom de la feuille dans laquelle on va chercher les données, il est vivement conseillé de mettre des apostrophes autour du nom de la feuille
en effet, si le nom de la feuille contient un espace, les apostrophes sont obligatoires, par contre s'il n'a pas d'espace elles ne posent pas de problème

Je conseillerais donc de mettre la formule là au cas où :

Code:
INDIRECT("'"&C5&"'!B2:B20")
 
Re : Fonction indirect ????

Salut, mais... n'apportesriendeplusaufil...

Bonjour hoerwind 🙂
Surtout à l'apéritif, avec un petit citronvert de l'ami Dull 😉

Mince...Tum'asremarqué... 🙂 Certes il est l'heure, de...cequetusais 🙂 ...néanmoins, je t'ai "liké"🙂 par amitié pour Tibo 🙂 qui m'a appris l'histoire du cote " ' " et qui m'a aider à comprendre pourquoi mon *"@😡#' de fichier ne voulait pas fonctionner 😉😉😉

Alors Merci Tibo 🙂 et Merci M... heu... Tototiti de (re) mettre une des bases de formules dans tes explications 😎

Bonne Journée à tous
 
Re : Fonction indirect ????

Bonjour à tous,

retour du Schtroumph à lunettes 😉

Comme je viens de faire un test, il y a encore un cas où l'écriture entourée d'apostrophes ne fonctionne pas toute seule : dans le cas où le nom de la feuille contient une apostrophe...
Dans ce cas il convient de doubler les apostrophes du nom de la feuille, et d'entourer le tout d'apostrophes comme précédement

Code:
=INDIRECT("'"&SUBSTITUE(C5;"'";"''")&"'!B2:B20")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Fonction SI
Réponses
2
Affichages
558
A
  • Question Question
Réponses
3
Affichages
1 K
A
Réponses
5
Affichages
2 K
Réponses
2
Affichages
3 K
G
Réponses
2
Affichages
3 K
gdurieux
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…