Fonction INDIRECT dans Excel

Fonction INDIRECT dans Excel
Dernière mise à jour le 06/02/2024
Temps de lecture : 3 minutes

La fonction INDIRECT va vous permettre de créer des références dynamiques et paramétrable dans vos formules

  1. Référence sous forme de texte

    La fonction n'a besoin que d'un seul argument, la référence à une cellule mais au format Texte.

  2. Transformer l'écriture de la référence

    La partie fixe sera écrite entre guillemets et la partie variable en dehors des guillemets

=INDIRECT("Référence d'une cellule")

Présentation de la fonction INDIRECT

Depuis l'aide en ligne le site de Microsoft, les explications sur la fonction INDIRECT ne sont pas très éclairantes. En fait, la fonction INDIRECT permet d'interpréter une chaîne de caractères en tant que référence à une cellule ??

Pour dire les choses autrement et de façon plus compréhensive, INDIRECT est capable de lire une référence écrite dans une chaîne de type Texte. Appliquer dans l'exemple suivant, si j'écris la référence A1 entre guillemet, la fonction INDIRECT retourne bien le contenu de la cellule A1

=INDIRECT("A1")

Comment ecrire la fonction INDIRECT

Comme vous le voyez, quand la référence est entre guillemet, la fonction "interprète" correctement la cellule et donc le résultat à afficher. Si la référence est sans guillemet, il y a une erreur.

Construire ses propres références

Mais l'intérêt d'utiliser la fonction INDIRECT c'est bien sûr de construire ses propres références en utilisant les valeurs de cellules ou encore des formules (exemples juste après).

Pour faire cela, il faut découper la référence en partie fixe et partie variable

  • La partie fixe de la référence, sera toujours entre guillemet
  • La partie variable ne sera jamais entre guillemet (sinon, elle ne sera pas interprétée)

Par exemple, dans l'exemple précédent, il est tout à fait possible de remplacer la valeur 4 de la ligne à retourner par une formule. Mais cette formule doit être en dehors des guillemets. Et surtout, il faut utiliser le symbole & pour lier la partie fixe et variable.

=INDIRECT("B"&8/2)

Formule qui retourne la valeur 4 pour etre utilisee avec la fonction INDIRECT

Chaque calcul est égal à 4. Donc la fonction INDIRECT va interpréter le résultat en tant qu'élément de la référence.

Cas concret : Extraire un échantillon aléatoire

Pour se constituer un échantillon de nos clients, nous avons utilisé un nombre aléatoire pour récupérer une ligne de notre base client.

Constuire la reference avec la fonction INDIRECT

Construire une feuille de synthèse

Autre utilisation très intéressante de la fonction INDIRECT, c'est de construire un tableau de synthèse. Dans l'exemple suivant, nous avons construit une référence en utilisant

  • Le nom de feuille contenu dans les cellules de la ligne 2
  • Le numéro de ligne avec la fonction LIGNE
Reference de la ligne variable

48 Comments

  1. Patrick Noel
    08/06/2023 @ 19:06

    Bonjour,
    Merci pour ce tuto très clair, juste une petite remarque concernant l'utilisation sous O365 en utilisant l'application web Excel.
    Pour fonctionner la référence de la feuille doit être entre deux apostrophes par exemple : =INDIRECT("'"&$C3&"'!D9")

    C3 étant la cellule contenant la référence de la feuille et D9 la cellule sur cette feuille.

    Reply

    • Sylvain
      20/09/2023 @ 08:57

      Merci à l'auteur de ce site et merci beaucoup à Patrcik Noël, auteur de ce précieux commentaire qui indique comment faire référence à une feuille dans la fonction INDIRECT (valable aussi pour la fonction ADRESSE).
      Sans cette référence particulière (avec les &), si vous changer le nom de la feuille, la formule n'est pas mis a jour et la référence est perdue.
      Ca nécéssite seulement une case dans laquelle on indique le nom de la feuille grâce à la formule : =DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1)))
      Une bonne épine du pied d'enlevée, merci.
      Je ne comprends pas pourquoi j'ai eu besoin d'un commentaire pour trouver cette information... Le site Microsft qui répertorie les fonctions et leurs arguments ne disent rien de tout ça...
      Le manuel est peut-être la bonne référence plutôt qu'internet...

      Reply

      • Frédéric LE GUEN
        20/09/2023 @ 09:02

        Bonjour,
        La formule peut se simplifier avec TEXTE.APRES
        =TEXTE.APRES(CELLULE("nomfichier");"]")

  2. marc
    26/04/2023 @ 11:59

    La Fonction INDIRECT avec La Fonction ADRESSE
    Associées Ensemble sont vraiment très puissantes
    pour extraire des données sur plusieurs feuilles
    vers une autre feuille par exemple

    Merci pour tous ces Tutos qui nous aident beaucoup

    Cordialement

    Reply

    • Frédéric LE GUEN
      26/04/2023 @ 12:13

      Merci, pour les encouragements. Vous pouvez m'adresser un exemple d'association de INDIRECT avec ADRESSE à contact@excel-exercice.com.

      Reply

  3. Pascal Poulin
    21/03/2023 @ 15:13

    Bonjour Frédéric,

    Merci beaucoup pour l'exemple, c'est très bien expliqué et très clair! Ça fonctionne très bien de mon côté.

    J'ai une question pour vous. J'utilise la fonction indirect pour faire référence à un fichier externe (fichier qui est ouvert, donc j'ai un résultat qui s'affiche) et des onglets différents.

    J'aimerais pouvoir utiliser ma formule indirect à plusieurs reprises dans une autre formule (par exemple somme.si.ens). Cela crée donc une formule somme.si.ens un peu longue à écrire car je dois insérer le contenu de ma formule indirect à plusieurs reprises dans ma formule somme.si.ens. C'est aussi long à évaluer si j'ai un problème de résultat.

    Donc est-ce possible de mettre la fonction indirect dans ma cellule A1 et de simplement y référer dans ma formule somme.si.ens? Je mets l'exemple avec une formule Somme pour rendre l'exemple plus simple:

    Donc
    =SOMME(INDIRECT(CAR(39)&Folder_Projet&"["&Nom_Fichier&"]"&Onglet&CAR(39)&"!$C$30:$T$136"))
    deviendrait
    =SOMME(INDIRECT(A1&"!$C$30:$T$136")) où A1 contiendrait "CAR(39)&Folder_Projet&"["&Nom_Fichier&"]"&Onglet&CAR(39)"

    Mon problème actuellement lorsque j'essaie ça est je n'obtiens que des messages d'erreurs...

    Merci à l'avance et bonne journée!

    Reply

    • Frédéric LE GUEN
      21/03/2023 @ 16:24

      Bonjour,
      Difficile de vous répondre sans voir le contexte et l'architecture des classeurs, mais ce qui est sur c'est qu'Excel n'a pas été bâti pour récupérer des données dans des classeurs fermés. Par exemple, SOMME.SI.ENS et NB.SI.ENS sont incapables de lire un classeur fermé. Moi, je vous recommanderais de repenser l'architecture de vos données, pour que les informations d'un classeur soit reversé dans une base de données par exemple

      Reply

  4. Daniel
    13/03/2023 @ 09:30

    Bonjour,
    =Indirect() permet d'adresser une cellule, si je ne me trompe pas.
    Mon besoin et légèrement différent. Je dois adresser une colonne dans un onglet. Le nom de l'onglet répond à un critère précis, et la colonne à adresser sera toujours la même quelle que soit l'onglet (structrure identique pour tous les onglets hormis le premier qui est une synthèse des autres).

    Par exemple, j'ai une formule comme celle-ci =SI(ESTNA(EQUIV($B12&D$10;XLH28!$I:$I;0));"";"X"). Mon but est de paramétrer XLH28!$I:$I où XLH28 sera remplacé par le nom de l'onglet (XLH28, XLH29,...) qui se trouve en colonne B (ici en B12 pour XLH28). L'usage d'INDIRECT(CONCATENER($B12;"!$I:$I")) ne fonctionne pas, renvoyant une erreur de propagation.

    Comment puis-je réaliser cet adressage sans passer par des macros ?

    Merci d'avance.

    Reply

  5. Daniel
    10/03/2023 @ 15:14

    Bonjour,

    Mon classeur Excel sera constitué d'un onglet "Synthèse" et de plusieurs onglets (nombre inconnu) mais de structure identique.

    Le nom des onglets seront du type "XLHn". Sur l'onglet "Synthèse", on veut pouvoir aller rechercher des infos dans la colonne I. Par exemple, pour l'onglet "XLH28", on aurait une formule du style =SI(ESTNA(EQUIV($B12&C$10;XLH28!$I:$I;0));"";"X")

    Comment pouvoir remplacer la partie de la formule "XLH28!$I$I" ? Je ne pense pas qu'INDIRECT puisse me permettre d'adresser une colonne entière.

    Merci d'avance pour votre aide.

    Reply

  6. Bertrand
    19/12/2022 @ 12:06

    Bonjour,
    Je cherche à faire une formule indirect() qui a pour l'un de ses éléments une référence à une cellule contenant une formule filtre().
    J'appelle donc la cellule avec "#" pour reproduire ma formule indirect() sur tous les résultats de la formule filtre().
    La formule me renvoi "#VALEUR!" sur toutes les lignes mais lorsque j'interroge les résultats avec F9 dans la cellule, celle-ci me trouve bien les valeurs que je souhaite.
    Auriez-vous une solution ?
    Merci d'avance,

    Reply

    • Frédéric LE GUEN
      19/12/2022 @ 12:24

      Alors, je n'ai jamais testé le symbole # (référence étendue) avec INDIRECT mais je pas sûr que ça fonctionne. Et j'irais plus loin dans ma réponse, je pense que c'est plus la construction de votre classeur qui est à revoir car sa construction actuelle doit être bien complexe si vous avez besoin de mixer les références étendues avec INDIRECT (c'est mon point de vue)

      Reply

  7. JeanNoel
    24/06/2021 @ 16:52

    Bonjour,

    Merci pour votre tuto très clair. Je rencontre cependant un problème lorsque je veux faire la somme d'un même bloc de cellules de plusieurs feuilles.
    En cellule A20 le nom d'une personne, par exemple DUPONT, en A22 le nom d'une autre personne, par exemple Martin
    Je dispose d'une feuille Dupont et d'une feuille Martin

    Si je fait : =SOMME(Dupont!A6:A10;'Martin'!A6:A10)
    Ce qui en indirect donne =SOMME(INDIRECT("'"&A20&"'"&"!A6:A10");INDIRECT("'"&A22&"'"&"!A6:A10"))

    Par contre si je fait =SOMME('Dupont:Martin'!A6:A10)
    Ce que j'ai traduit en indirect par =somme(indirect("'"&A21&":"&A23&"'"&"!A6:A10"))
    j'obtiens un message d'erreur #REF!

    S'il n'y a que deux feuilles, la première méthode fonctionne mais s'il y a plusieurs feuilles, cette formule devient bien plus longue et complexe, alors que l'autre formule fait la somme de la 1ère feuille à la dernière feuille et donc ne se rallonge pas si on ajout des feuilles.

    Pouvez-vous me dire quelle erreur j'ai commis dans ma formule ? Je ne parviens pas à la déceler.

    Merci de m'avoir lu

    Jean-Noël

    Reply

    • Frédéric LE GUEN
      24/06/2021 @ 17:01

      Je ne pense pas que la fonction INDIRECT a été développée pour comprendre les références sur plusieurs feuilles de calcul (les références 3D). Le plus simple serait de combiner toutes vos feuilles en 1 seule et là vous faites tous vos calculs depuis cette feuille. C'est le mieux

      Reply

  8. Ella
    18/06/2021 @ 17:14

    Bonjour,

    Je travaille sur une feuille excel d'environ 60 000 lignes. Les lignes sont renseignées de façon homogène sauf pour les lignes ayant du contenu aux colonnes G et H, donc pour ces lignes les autres cellules sont vides sauf en G et H. Donc après un certain nombre de ligne (pas toujours le même nombre) totalement renseignées il y a une ligne avec juste les cellules G et H remplies et de nouveaux des lignes entières remplies et ainsi de suite. Et donc je dois reproduire les contenus de G et H dans dux cellules devant toutes les lignes suivantes jusqu'a la prochaine lignes où le contenu de G et H change et ainsi de suite.
    Y aurait il un moyen a tout hasard d'effectuer cette tâche automatiquement pour le gain de temps et le risque d'erreur.

    Reply

  9. E-MUR
    05/05/2021 @ 08:20

    Bonjour,
    Nous sommes en train de constituer un rapport d'auto évaluation pour notre établissement.
    Le premier onglet permet la saisie des commentaires (critères / services / Points positifs / points à améliorer)
    Le second nous permet d'enregistrer les résultats par critères et services.
    Les onglets correspondants aux services permettent d'éditer un rapport individualisé.
    => Résultats par critères et services = OK (mise en forme graphique radar)
    => Synthèse des commentaires par critères = pas encore en place...
    Chose que je n'arrive pas à faire, c'est le report des données de l'onglet "saisie" par critères et par services.
    1) Report N° critère (exemple: ServiceA = 9 critères / ServiceB = 11 critères)
    2) Report commentaire en lien n° critère, service pour les points positifs
    3) Report commentaire en lien n°critère, service pour les points à améliorer

    Pourriez-vous m'aider à consolider mon tableau?
    Merci par avance de votre aide

    Reply

    • Frédéric LE GUEN
      05/05/2021 @ 08:34

      Faites votre formulaire avec Forms https://www.youtube.com/watch?v=wYWNhiJJmTs ça sera plus simple

      Reply

      • E-MUR
        05/05/2021 @ 09:18

        Je vous remercie pour votre retour rapide. Ce point nous servira pour déployer d'autres outils en interne.

        Néanmoins, cela ne réponds pas à mon besoin. Nous avons déjà collecté des données pour 9 services.
        Chose que me demande ma hiérarchie, c'est que les éléments de réponses de l'onglet "Saisie" soient reportés automatiquement dans les onglets "Service" et par critères.
        Sur les deux premières saisies, je n'ai fais que du =cellule de la feuille de "Saisie"

        Pour faciliter les choses, il faudrait que l'onglet "Saisie" incrémente les onglets services au fur et à mesure.
        La fonction indirect me semblait adaptée, je peux me tromper... à moins que ce ne soit une autre formule ou pire, impossible à faire.

      • Frédéric LE GUEN
        05/05/2021 @ 10:29

        Ben là c'est un vrai projet à réaliser. Si vous voulez que je m'en charge, il faut que j'ai accès aux données pour évaluer le temps à y consacrer et du prix que cela va couter. Voulez-vous que je prenne en charge ce projet ?

      • E-MUR
        05/05/2021 @ 11:21

        Autant le Forms simplifierai la gestion des données et l'exploitation des résultats, mais nous sommes partis sur tableur Excel avec nos connaissances respectives.
        Au vu de l'urgence du besoin (ultimatum de résultat pour le 06/05/2021) et de l'expression du demandeur, le coût d'une étude et d'un développement ne rentre dans aucun budget pour notre établissement de santé.

        Votre site et vos partages sont une mine d'or pour les néophytes comme moi. Je vais y travailler en back-office pour trouver la formule qui va bien, qui nous servira pour les années suivantes. C'est aussi un challenge pour moi de créer de nouveaux outils.
        Je vous remercie en tout cas pour votre réactivité et votre soutien.

  10. Marguerite BELE
    24/03/2021 @ 14:59

    Bonjour,
    Comment adapter la formule pour récupérer les informations de plusieurs lignes simplement en étirant la formule ?
    En prenant exemple sur votre fichier, j'aimerais réaliser le tableau ci-dessous dans l'onglet Report sans avoir à modifier dans la formule la colonne et la ligne des cellules dont je veux récupérer l'information.
    A B
    FR DE
    1 Pays =INDIRECT(B1&"!B2") =INDIRECT(C1&"!B2")
    2 CAPITALE =INDIRECT(B1&"!B3") =INDIRECT(C1&"!B3")
    3 Superficie population =INDIRECT(B1&"!B4") =INDIRECT(C1&"!B4")

    Merci d'avance pour votre aide

    Reply

  11. Adrien PELERIN
    20/03/2021 @ 14:34

    Bonjour,
    Comment peut on faire pour trouver la somme des chiffres d'une date de naissance ? soit25/06/1965 = 2+5+0+6+1+9+6+5=34 d"ou 3+4 =7 7 etant le chiffre final ? merci de votre aide

    Reply

    • Frédéric LE GUEN
      20/03/2021 @ 14:48

      Mais quel est l'intérêt de faire un truc pareil ?

      Reply

    • Nicolito
      13/08/2021 @ 08:46

      Dans une cellule std
      =SOMME(1*GAUCHE(D13;2)+1*DROITE(D13;4)+1*STXT(D13;4;2))

      La cellule de saisie de la date (D13) doit être au format Txt par contre

      Reply

  12. Ouelaa
    07/02/2021 @ 11:31

    merci bien

    Reply

  13. Dominique
    09/06/2020 @ 10:38

    merci c'était très clair et je suis contente d'avoir deux exemples d'utilisation de la fonction indirect

    Reply

  14. Dida coco
    05/07/2019 @ 23:09

    Bonjour,
    Merci chaleureusement, après des heures sur Internet à essayer de comprendre comment faire cette formule, au finale si simple grâce à vous. C'est exactement l'exemple recherché !

    Reply

  15. Charles
    18/01/2019 @ 14:11

    J'ai un classeur avec 4 feuilles correspondants à 4 produits A, B, C et D dont la structure de chacune d est identique. Enfin j'ai une 5e feuille bilan . J'ai mis une liste déroulante dans une cellule du bilan listant les 4 produits. Mon soucis est de trouver une formule me faisant une somme de la colonne C d'une de ces feuilles à chaque fois qu'elle est sélectionnée dans la liste déroulante .... aidez moi a trouver une parade svp

    Reply

  16. fontaine
    06/06/2018 @ 18:08

    Bonjour
    peut-on mettre un INDIRECT dans une formule ?
    je m'explique
    j'ai une feuille de synthèse dans laquelle je récupère automatiquement les noms de mes onglets (par une macro)
    j'aimerai pour chaque onglet savoir combien il y a de colonnes
    Mes noms d'onglets n'ont pas d'espace dans leur nom
    Les noms d'onglet sont en colonne A
    et j'ai écrit =NBVAL(INDIRECT(A5)&"!1:1") puis =NBVAL(INDIRECT(A4)&"!1:1)")
    qui me ramène 1 et pas du tout le nombre de colonnes dans les onglets
    Quand j'évalue la formule l'INDIRECT est résolu en premier et ramène bien le nom de l'onglet
    Puis à l'étape suivante il met un #ref et termine avec un résultat à 1

    Reply

  17. toche
    31/01/2018 @ 14:57

    bonjour, j'ai besoins d'aide sur un tableau est il possible d'avoir de l'aide
    merci

    Reply

  18. LAWRENCE Paul
    14/10/2015 @ 09:27

    Bonjour.
    Vos explications sont très claires. Une petite remarque cependant.
    Vous écrivez: "Attention, il n’est possible d’attribuer une source autre que votre feuille active que depuis Excel 2010."
    Voici une méthode qui fonctionne qu'elle que soit la version d'Excel:
    Exemple dans Excel 2007.
    Dans "Validation des données", si la Source se trouve dans une autre feuille, il faut qu'elle soit identifiée par un Nom que l'on détermine en utilisant le Menu Données puis Gestionnaire des noms.
    Dans le Gestionnaire des noms, on crée un Nom qui fera référence à une cellule (ou à une plage de cellules) située dans une autre feuille que la feuille active.
    En face de Nom:, écrire le nom choisi
    En face de Zone: choisir classeur
    En face de Fait référence à: cliquer sur la petite grille à droite et sélectionner la feuille puis la cellule ou la plage de cellules qui servira de ultérieurement de Source dans Données, Validation des données.
    Pour que le Nom choisi soit valable, ne pas utiliser d'espaces, ni d'accents.
    Pour éviter tout conflit, ne pas employer un Nom déjà existant dans Excel.
    L'emploi de majuscules permet de le repérer comme nom créé.
    Ce Nom pourra être utilisé dans toutes les formules de toutes les feuilles du classeur.
    Cordialement

    Reply

  19. Anonyme
    16/02/2015 @ 21:59

    Bonjour
    sous MO 2010 je souhaiterais appliquer la formule INDIRECT au 2ème mois de cette formule (ici Mars) =SOMME(Janvier:Mars!AB35) Mais je n'y arrive pas ! =SOMME(INDIRECT("Janvier:Mars!AB35")) Excel m'indique l'erreur #REF!
    Merci de m'éclairer

    Reply

  20. loubet
    22/01/2015 @ 11:35

    Bonjour, desolée je suis un peu perdue: je souhaite mettre un champs multiple ( en fait deux choix "oui" ou" non)" et seulement dans le cas ou "oui " est chosi j aimerai que cela renvoi a une cas a remplir et que cela soit blocant si cette case n est pas completé..je ne sais pas si je suis claire mais merci par avance de votre aide

    Reply

  21. Majérus Paul
    22/12/2014 @ 11:08

    Bonjour,

    Je voudrais ne pas bloquer la case de référence afin de pouvoir étirer ma formule tout en faisant toujours référence à une page. Est-ce possible ? Comment dois-je écrire cette formule ? D'avance, merci pour votre aide !

    Reply

    • Anonyme
      03/03/2015 @ 14:37

      Bonjour

      $A va bloquer la colonne A
      $1 va bloquer la ligne 1

      Donc si tu veux rester toujours dans la meme cellule : $A$1

      Reply

  22. Lili
    06/11/2014 @ 22:55

    Bonjour,

    J'ai créer un fichier excel dans lequel on encode régulièrement des données.

    Dans ma premier feuille, toutes les données sont encodées mais dans ma 2ème feuille, j'aimerais que dans celle-ci, seule certaines données soient repris automatique par rapport à ma 1ère feuille. (le tableau croisé ne me correspond pas car dans cette 2ème feuille, d'autres colonnes s'y ajouterons pour encoder d'autres données.

    Pourriez-vous m'aider ?

    Merci !

    Reply

  23. christ
    18/08/2014 @ 07:34

    bonjour a vous
    j'ai vu votre professionnalisme...
    et je voudrais savoir si vous pouvez m'aider pour la création d'un devis tres particulier en vba ou autre....
    car je n'y connais rien et je suis une petite entreprise et j'aimerais que mes devis soient automatiques et personnel a mon entreprise...
    j'ai essayé des logiciels tout fait mais cela ne me convient pas
    donc je demande votre aide svp
    merci
    a+

    Reply

  24. Pajude
    25/06/2014 @ 08:41

    Bonjour,
    J'ai suivi vos explications très claires pour cette fonction Indirect. Je suis sur Excel 2007, j'ai fait l'exercice et j'ai un souci. Mes cellules sont en format standard, dans ma feuille Global, la TVA remonte au format 0,196 pour 19.60%. J'ai modifié le format en %, le PB c'est que le PIB remonte en %
    Merci de votre aide

    Reply

  25. marc1325
    04/06/2014 @ 13:48

    Bonjour,
    merci pour ces précieux tutos.

    Un petit détail qui ne fonctionne pas avec Excel 2010, la formule FormulaText permettant normalement d'afficher la définition d'une formule dans une cellule.
    Toutefois, cette fonction est aisément redéfinissable par le biais d'un module et de la fonction personnalisée suivante :
    Function FT(MyCell As Range)
    FT = MyCell.Formula
    End Function

    Pour les détails d'implémentation de cette méthode, se référer à ce tutorial : https://www.youtube.com/watch?v=wpRGTvhp1cY

    Reply

    • Frédéric LE GUEN
      01/09/2014 @ 20:24

      Dans Excel 2013, il y a la fonction FORMULETEXTE(référence) qui vous permet d'écrire dans une cellule la formule contenu dans une autre cellule.

      Reply

  26. WIMI
    11/05/2014 @ 11:41

    Bonjour,

    Merci infiniment pour vos explications..Tout semble clair à présent pour moi.. Juste une question, est il possible de changer le No_index de la colonne de manière automatique pour des formules déjà établies?

    Merci d'avance

    Reply

  27. atoch
    30/01/2014 @ 21:08

    bonjour,
    je suis à la recherche d'une solution pour que les liens ne changent pas dans un sous dossier contenant ma feuille excel.
    je m'explique : j'ai à la base un dossier "modèle" qui contient 6 sous-dossiers. Ce dossier "modèle sera copié et son nom va changer en fonction du client.
    par contre aucun changement dans les sous-dossiers.est il possible de garder les liens dans les inters sous-dossiers ?

    merci d'avance pour votre aide

    atoch

    Reply

  28. Laurence
    18/11/2013 @ 21:06

    Bonjour,

    J'essaie d'utiliser la formule indirect avec le format de cellule «date» (jj-mmm), mais je n'y parviens pas... Je dois avouer que la formule avec les espaces m'a quelque peu aidé, mais j'aimerais savoir si c'est possible avec des dates (c'est pour un fichier de feuille de temps hebdomadaires avec un onglet contenant le sommaire annuel).

    Merci d'avance!

    Reply

  29. said
    30/10/2013 @ 18:37

    bjr,

    c'est vraiment intéréssant merci pour ces explicatio,; toute fois je veux créer un fichier de plusieure onglets, et sur l'onglet recap je veux mettre deux menus déroulent ce qui fait deux choix conditionnelle pour recupéré les données des autres onglets, pouvez vous m'aider SVP? 🙂

    merci 🙂

    Reply

  30. desfetes
    24/09/2013 @ 19:04

    Bonjour,

    Pouvez-vous me dire sous qu'elle version excel travaillez vous car elle semble vraiment très sympa??

    Reply

    • Frédéric LE GUEN
      25/09/2013 @ 01:15

      Excel 2013
      Téléchargeable en haut à droite de cette page

      Reply

  31. Zorba
    24/08/2013 @ 21:00

    Bonjour,
    Tout fonctionne parfaitement, merci ! Mais je souhaiterais savoir comment récupérer de façon automatique la liste des onglets ? Celle que vous mettez en colonne A... Et ce, sans macro s'il vous plaît !

    Reply

    • Frédéric LE GUEN
      24/08/2013 @ 23:39

      Bonsoir,
      Ce n'est malheureusement pas possible d'extraire les noms de vos feuilles sans passer par une macro. Mais c'est pas si dur de faire des macros 😉 Pour votre besoin, juste 4 lignes de code suffisent et j'ai justement utlisé cet exemple dans le livre que j'ai écrit (cf référence en haut à droite des pages)

      Reply

    • Anonyme
      08/07/2015 @ 09:30

      J'avais eu ce problème et j'ai trouvé une solution sur le web
      (c'est un peu tiré par les cheveux mais ça marche (au moins en Excel 2010)):

      1-Définir un nouveau nom/plage nommée (onglet Formules) (typiquement nom_feuilles) dans la zone "Fait référence à" entrez la formule
      =LIRE.CLASSEUR(1)

      2- Dans toutes les cellules du classeur, la formule suivante appliquée sur les lignes de 3 à n de n'importe quel onglet permet de récupérer le nom de la feuille
      =SI(LIGNE()-1 <= COLONNES(nom_feuilles); DROITE(INDEX(nom_feuilles;LIGNE()-1);NBCAR(INDEX(nom_feuilles;LIGNE()-1))-TROUVE("]";INDEX(nom_feuilles;LIGNE()-1))); "")

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Fonction INDIRECT dans Excel

Reading time: 3 minutes
Dernière mise à jour le 06/02/2024

La fonction INDIRECT va vous permettre de créer des références dynamiques et paramétrable dans vos formules

  1. Référence sous forme de texte

    La fonction n'a besoin que d'un seul argument, la référence à une cellule mais au format Texte.

  2. Transformer l'écriture de la référence

    La partie fixe sera écrite entre guillemets et la partie variable en dehors des guillemets

=INDIRECT("Référence d'une cellule")

Présentation de la fonction INDIRECT

Depuis l'aide en ligne le site de Microsoft, les explications sur la fonction INDIRECT ne sont pas très éclairantes. En fait, la fonction INDIRECT permet d'interpréter une chaîne de caractères en tant que référence à une cellule ??

Pour dire les choses autrement et de façon plus compréhensive, INDIRECT est capable de lire une référence écrite dans une chaîne de type Texte. Appliquer dans l'exemple suivant, si j'écris la référence A1 entre guillemet, la fonction INDIRECT retourne bien le contenu de la cellule A1

=INDIRECT("A1")

Comment ecrire la fonction INDIRECT

Comme vous le voyez, quand la référence est entre guillemet, la fonction "interprète" correctement la cellule et donc le résultat à afficher. Si la référence est sans guillemet, il y a une erreur.

Construire ses propres références

Mais l'intérêt d'utiliser la fonction INDIRECT c'est bien sûr de construire ses propres références en utilisant les valeurs de cellules ou encore des formules (exemples juste après).

Pour faire cela, il faut découper la référence en partie fixe et partie variable

  • La partie fixe de la référence, sera toujours entre guillemet
  • La partie variable ne sera jamais entre guillemet (sinon, elle ne sera pas interprétée)

Par exemple, dans l'exemple précédent, il est tout à fait possible de remplacer la valeur 4 de la ligne à retourner par une formule. Mais cette formule doit être en dehors des guillemets. Et surtout, il faut utiliser le symbole & pour lier la partie fixe et variable.

=INDIRECT("B"&8/2)

Formule qui retourne la valeur 4 pour etre utilisee avec la fonction INDIRECT

Chaque calcul est égal à 4. Donc la fonction INDIRECT va interpréter le résultat en tant qu'élément de la référence.

Cas concret : Extraire un échantillon aléatoire

Pour se constituer un échantillon de nos clients, nous avons utilisé un nombre aléatoire pour récupérer une ligne de notre base client.

Constuire la reference avec la fonction INDIRECT

Construire une feuille de synthèse

Autre utilisation très intéressante de la fonction INDIRECT, c'est de construire un tableau de synthèse. Dans l'exemple suivant, nous avons construit une référence en utilisant

  • Le nom de feuille contenu dans les cellules de la ligne 2
  • Le numéro de ligne avec la fonction LIGNE
Reference de la ligne variable

48 Comments

  1. Patrick Noel
    08/06/2023 @ 19:06

    Bonjour,
    Merci pour ce tuto très clair, juste une petite remarque concernant l'utilisation sous O365 en utilisant l'application web Excel.
    Pour fonctionner la référence de la feuille doit être entre deux apostrophes par exemple : =INDIRECT("'"&$C3&"'!D9")

    C3 étant la cellule contenant la référence de la feuille et D9 la cellule sur cette feuille.

    Reply

    • Sylvain
      20/09/2023 @ 08:57

      Merci à l'auteur de ce site et merci beaucoup à Patrcik Noël, auteur de ce précieux commentaire qui indique comment faire référence à une feuille dans la fonction INDIRECT (valable aussi pour la fonction ADRESSE).
      Sans cette référence particulière (avec les &), si vous changer le nom de la feuille, la formule n'est pas mis a jour et la référence est perdue.
      Ca nécéssite seulement une case dans laquelle on indique le nom de la feuille grâce à la formule : =DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1)))
      Une bonne épine du pied d'enlevée, merci.
      Je ne comprends pas pourquoi j'ai eu besoin d'un commentaire pour trouver cette information... Le site Microsft qui répertorie les fonctions et leurs arguments ne disent rien de tout ça...
      Le manuel est peut-être la bonne référence plutôt qu'internet...

      Reply

      • Frédéric LE GUEN
        20/09/2023 @ 09:02

        Bonjour,
        La formule peut se simplifier avec TEXTE.APRES
        =TEXTE.APRES(CELLULE("nomfichier");"]")

  2. marc
    26/04/2023 @ 11:59

    La Fonction INDIRECT avec La Fonction ADRESSE
    Associées Ensemble sont vraiment très puissantes
    pour extraire des données sur plusieurs feuilles
    vers une autre feuille par exemple

    Merci pour tous ces Tutos qui nous aident beaucoup

    Cordialement

    Reply

    • Frédéric LE GUEN
      26/04/2023 @ 12:13

      Merci, pour les encouragements. Vous pouvez m'adresser un exemple d'association de INDIRECT avec ADRESSE à contact@excel-exercice.com.

      Reply

  3. Pascal Poulin
    21/03/2023 @ 15:13

    Bonjour Frédéric,

    Merci beaucoup pour l'exemple, c'est très bien expliqué et très clair! Ça fonctionne très bien de mon côté.

    J'ai une question pour vous. J'utilise la fonction indirect pour faire référence à un fichier externe (fichier qui est ouvert, donc j'ai un résultat qui s'affiche) et des onglets différents.

    J'aimerais pouvoir utiliser ma formule indirect à plusieurs reprises dans une autre formule (par exemple somme.si.ens). Cela crée donc une formule somme.si.ens un peu longue à écrire car je dois insérer le contenu de ma formule indirect à plusieurs reprises dans ma formule somme.si.ens. C'est aussi long à évaluer si j'ai un problème de résultat.

    Donc est-ce possible de mettre la fonction indirect dans ma cellule A1 et de simplement y référer dans ma formule somme.si.ens? Je mets l'exemple avec une formule Somme pour rendre l'exemple plus simple:

    Donc
    =SOMME(INDIRECT(CAR(39)&Folder_Projet&"["&Nom_Fichier&"]"&Onglet&CAR(39)&"!$C$30:$T$136"))
    deviendrait
    =SOMME(INDIRECT(A1&"!$C$30:$T$136")) où A1 contiendrait "CAR(39)&Folder_Projet&"["&Nom_Fichier&"]"&Onglet&CAR(39)"

    Mon problème actuellement lorsque j'essaie ça est je n'obtiens que des messages d'erreurs...

    Merci à l'avance et bonne journée!

    Reply

    • Frédéric LE GUEN
      21/03/2023 @ 16:24

      Bonjour,
      Difficile de vous répondre sans voir le contexte et l'architecture des classeurs, mais ce qui est sur c'est qu'Excel n'a pas été bâti pour récupérer des données dans des classeurs fermés. Par exemple, SOMME.SI.ENS et NB.SI.ENS sont incapables de lire un classeur fermé. Moi, je vous recommanderais de repenser l'architecture de vos données, pour que les informations d'un classeur soit reversé dans une base de données par exemple

      Reply

  4. Daniel
    13/03/2023 @ 09:30

    Bonjour,
    =Indirect() permet d'adresser une cellule, si je ne me trompe pas.
    Mon besoin et légèrement différent. Je dois adresser une colonne dans un onglet. Le nom de l'onglet répond à un critère précis, et la colonne à adresser sera toujours la même quelle que soit l'onglet (structrure identique pour tous les onglets hormis le premier qui est une synthèse des autres).

    Par exemple, j'ai une formule comme celle-ci =SI(ESTNA(EQUIV($B12&D$10;XLH28!$I:$I;0));"";"X"). Mon but est de paramétrer XLH28!$I:$I où XLH28 sera remplacé par le nom de l'onglet (XLH28, XLH29,...) qui se trouve en colonne B (ici en B12 pour XLH28). L'usage d'INDIRECT(CONCATENER($B12;"!$I:$I")) ne fonctionne pas, renvoyant une erreur de propagation.

    Comment puis-je réaliser cet adressage sans passer par des macros ?

    Merci d'avance.

    Reply

  5. Daniel
    10/03/2023 @ 15:14

    Bonjour,

    Mon classeur Excel sera constitué d'un onglet "Synthèse" et de plusieurs onglets (nombre inconnu) mais de structure identique.

    Le nom des onglets seront du type "XLHn". Sur l'onglet "Synthèse", on veut pouvoir aller rechercher des infos dans la colonne I. Par exemple, pour l'onglet "XLH28", on aurait une formule du style =SI(ESTNA(EQUIV($B12&C$10;XLH28!$I:$I;0));"";"X")

    Comment pouvoir remplacer la partie de la formule "XLH28!$I$I" ? Je ne pense pas qu'INDIRECT puisse me permettre d'adresser une colonne entière.

    Merci d'avance pour votre aide.

    Reply

  6. Bertrand
    19/12/2022 @ 12:06

    Bonjour,
    Je cherche à faire une formule indirect() qui a pour l'un de ses éléments une référence à une cellule contenant une formule filtre().
    J'appelle donc la cellule avec "#" pour reproduire ma formule indirect() sur tous les résultats de la formule filtre().
    La formule me renvoi "#VALEUR!" sur toutes les lignes mais lorsque j'interroge les résultats avec F9 dans la cellule, celle-ci me trouve bien les valeurs que je souhaite.
    Auriez-vous une solution ?
    Merci d'avance,

    Reply

    • Frédéric LE GUEN
      19/12/2022 @ 12:24

      Alors, je n'ai jamais testé le symbole # (référence étendue) avec INDIRECT mais je pas sûr que ça fonctionne. Et j'irais plus loin dans ma réponse, je pense que c'est plus la construction de votre classeur qui est à revoir car sa construction actuelle doit être bien complexe si vous avez besoin de mixer les références étendues avec INDIRECT (c'est mon point de vue)

      Reply

  7. JeanNoel
    24/06/2021 @ 16:52

    Bonjour,

    Merci pour votre tuto très clair. Je rencontre cependant un problème lorsque je veux faire la somme d'un même bloc de cellules de plusieurs feuilles.
    En cellule A20 le nom d'une personne, par exemple DUPONT, en A22 le nom d'une autre personne, par exemple Martin
    Je dispose d'une feuille Dupont et d'une feuille Martin

    Si je fait : =SOMME(Dupont!A6:A10;'Martin'!A6:A10)
    Ce qui en indirect donne =SOMME(INDIRECT("'"&A20&"'"&"!A6:A10");INDIRECT("'"&A22&"'"&"!A6:A10"))

    Par contre si je fait =SOMME('Dupont:Martin'!A6:A10)
    Ce que j'ai traduit en indirect par =somme(indirect("'"&A21&":"&A23&"'"&"!A6:A10"))
    j'obtiens un message d'erreur #REF!

    S'il n'y a que deux feuilles, la première méthode fonctionne mais s'il y a plusieurs feuilles, cette formule devient bien plus longue et complexe, alors que l'autre formule fait la somme de la 1ère feuille à la dernière feuille et donc ne se rallonge pas si on ajout des feuilles.

    Pouvez-vous me dire quelle erreur j'ai commis dans ma formule ? Je ne parviens pas à la déceler.

    Merci de m'avoir lu

    Jean-Noël

    Reply

    • Frédéric LE GUEN
      24/06/2021 @ 17:01

      Je ne pense pas que la fonction INDIRECT a été développée pour comprendre les références sur plusieurs feuilles de calcul (les références 3D). Le plus simple serait de combiner toutes vos feuilles en 1 seule et là vous faites tous vos calculs depuis cette feuille. C'est le mieux

      Reply

  8. Ella
    18/06/2021 @ 17:14

    Bonjour,

    Je travaille sur une feuille excel d'environ 60 000 lignes. Les lignes sont renseignées de façon homogène sauf pour les lignes ayant du contenu aux colonnes G et H, donc pour ces lignes les autres cellules sont vides sauf en G et H. Donc après un certain nombre de ligne (pas toujours le même nombre) totalement renseignées il y a une ligne avec juste les cellules G et H remplies et de nouveaux des lignes entières remplies et ainsi de suite. Et donc je dois reproduire les contenus de G et H dans dux cellules devant toutes les lignes suivantes jusqu'a la prochaine lignes où le contenu de G et H change et ainsi de suite.
    Y aurait il un moyen a tout hasard d'effectuer cette tâche automatiquement pour le gain de temps et le risque d'erreur.

    Reply

  9. E-MUR
    05/05/2021 @ 08:20

    Bonjour,
    Nous sommes en train de constituer un rapport d'auto évaluation pour notre établissement.
    Le premier onglet permet la saisie des commentaires (critères / services / Points positifs / points à améliorer)
    Le second nous permet d'enregistrer les résultats par critères et services.
    Les onglets correspondants aux services permettent d'éditer un rapport individualisé.
    => Résultats par critères et services = OK (mise en forme graphique radar)
    => Synthèse des commentaires par critères = pas encore en place...
    Chose que je n'arrive pas à faire, c'est le report des données de l'onglet "saisie" par critères et par services.
    1) Report N° critère (exemple: ServiceA = 9 critères / ServiceB = 11 critères)
    2) Report commentaire en lien n° critère, service pour les points positifs
    3) Report commentaire en lien n°critère, service pour les points à améliorer

    Pourriez-vous m'aider à consolider mon tableau?
    Merci par avance de votre aide

    Reply

    • Frédéric LE GUEN
      05/05/2021 @ 08:34

      Faites votre formulaire avec Forms https://www.youtube.com/watch?v=wYWNhiJJmTs ça sera plus simple

      Reply

      • E-MUR
        05/05/2021 @ 09:18

        Je vous remercie pour votre retour rapide. Ce point nous servira pour déployer d'autres outils en interne.

        Néanmoins, cela ne réponds pas à mon besoin. Nous avons déjà collecté des données pour 9 services.
        Chose que me demande ma hiérarchie, c'est que les éléments de réponses de l'onglet "Saisie" soient reportés automatiquement dans les onglets "Service" et par critères.
        Sur les deux premières saisies, je n'ai fais que du =cellule de la feuille de "Saisie"

        Pour faciliter les choses, il faudrait que l'onglet "Saisie" incrémente les onglets services au fur et à mesure.
        La fonction indirect me semblait adaptée, je peux me tromper... à moins que ce ne soit une autre formule ou pire, impossible à faire.

      • Frédéric LE GUEN
        05/05/2021 @ 10:29

        Ben là c'est un vrai projet à réaliser. Si vous voulez que je m'en charge, il faut que j'ai accès aux données pour évaluer le temps à y consacrer et du prix que cela va couter. Voulez-vous que je prenne en charge ce projet ?

      • E-MUR
        05/05/2021 @ 11:21

        Autant le Forms simplifierai la gestion des données et l'exploitation des résultats, mais nous sommes partis sur tableur Excel avec nos connaissances respectives.
        Au vu de l'urgence du besoin (ultimatum de résultat pour le 06/05/2021) et de l'expression du demandeur, le coût d'une étude et d'un développement ne rentre dans aucun budget pour notre établissement de santé.

        Votre site et vos partages sont une mine d'or pour les néophytes comme moi. Je vais y travailler en back-office pour trouver la formule qui va bien, qui nous servira pour les années suivantes. C'est aussi un challenge pour moi de créer de nouveaux outils.
        Je vous remercie en tout cas pour votre réactivité et votre soutien.

  10. Marguerite BELE
    24/03/2021 @ 14:59

    Bonjour,
    Comment adapter la formule pour récupérer les informations de plusieurs lignes simplement en étirant la formule ?
    En prenant exemple sur votre fichier, j'aimerais réaliser le tableau ci-dessous dans l'onglet Report sans avoir à modifier dans la formule la colonne et la ligne des cellules dont je veux récupérer l'information.
    A B
    FR DE
    1 Pays =INDIRECT(B1&"!B2") =INDIRECT(C1&"!B2")
    2 CAPITALE =INDIRECT(B1&"!B3") =INDIRECT(C1&"!B3")
    3 Superficie population =INDIRECT(B1&"!B4") =INDIRECT(C1&"!B4")

    Merci d'avance pour votre aide

    Reply

  11. Adrien PELERIN
    20/03/2021 @ 14:34

    Bonjour,
    Comment peut on faire pour trouver la somme des chiffres d'une date de naissance ? soit25/06/1965 = 2+5+0+6+1+9+6+5=34 d"ou 3+4 =7 7 etant le chiffre final ? merci de votre aide

    Reply

    • Frédéric LE GUEN
      20/03/2021 @ 14:48

      Mais quel est l'intérêt de faire un truc pareil ?

      Reply

    • Nicolito
      13/08/2021 @ 08:46

      Dans une cellule std
      =SOMME(1*GAUCHE(D13;2)+1*DROITE(D13;4)+1*STXT(D13;4;2))

      La cellule de saisie de la date (D13) doit être au format Txt par contre

      Reply

  12. Ouelaa
    07/02/2021 @ 11:31

    merci bien

    Reply

  13. Dominique
    09/06/2020 @ 10:38

    merci c'était très clair et je suis contente d'avoir deux exemples d'utilisation de la fonction indirect

    Reply

  14. Dida coco
    05/07/2019 @ 23:09

    Bonjour,
    Merci chaleureusement, après des heures sur Internet à essayer de comprendre comment faire cette formule, au finale si simple grâce à vous. C'est exactement l'exemple recherché !

    Reply

  15. Charles
    18/01/2019 @ 14:11

    J'ai un classeur avec 4 feuilles correspondants à 4 produits A, B, C et D dont la structure de chacune d est identique. Enfin j'ai une 5e feuille bilan . J'ai mis une liste déroulante dans une cellule du bilan listant les 4 produits. Mon soucis est de trouver une formule me faisant une somme de la colonne C d'une de ces feuilles à chaque fois qu'elle est sélectionnée dans la liste déroulante .... aidez moi a trouver une parade svp

    Reply

  16. fontaine
    06/06/2018 @ 18:08

    Bonjour
    peut-on mettre un INDIRECT dans une formule ?
    je m'explique
    j'ai une feuille de synthèse dans laquelle je récupère automatiquement les noms de mes onglets (par une macro)
    j'aimerai pour chaque onglet savoir combien il y a de colonnes
    Mes noms d'onglets n'ont pas d'espace dans leur nom
    Les noms d'onglet sont en colonne A
    et j'ai écrit =NBVAL(INDIRECT(A5)&"!1:1") puis =NBVAL(INDIRECT(A4)&"!1:1)")
    qui me ramène 1 et pas du tout le nombre de colonnes dans les onglets
    Quand j'évalue la formule l'INDIRECT est résolu en premier et ramène bien le nom de l'onglet
    Puis à l'étape suivante il met un #ref et termine avec un résultat à 1

    Reply

  17. toche
    31/01/2018 @ 14:57

    bonjour, j'ai besoins d'aide sur un tableau est il possible d'avoir de l'aide
    merci

    Reply

  18. LAWRENCE Paul
    14/10/2015 @ 09:27

    Bonjour.
    Vos explications sont très claires. Une petite remarque cependant.
    Vous écrivez: "Attention, il n’est possible d’attribuer une source autre que votre feuille active que depuis Excel 2010."
    Voici une méthode qui fonctionne qu'elle que soit la version d'Excel:
    Exemple dans Excel 2007.
    Dans "Validation des données", si la Source se trouve dans une autre feuille, il faut qu'elle soit identifiée par un Nom que l'on détermine en utilisant le Menu Données puis Gestionnaire des noms.
    Dans le Gestionnaire des noms, on crée un Nom qui fera référence à une cellule (ou à une plage de cellules) située dans une autre feuille que la feuille active.
    En face de Nom:, écrire le nom choisi
    En face de Zone: choisir classeur
    En face de Fait référence à: cliquer sur la petite grille à droite et sélectionner la feuille puis la cellule ou la plage de cellules qui servira de ultérieurement de Source dans Données, Validation des données.
    Pour que le Nom choisi soit valable, ne pas utiliser d'espaces, ni d'accents.
    Pour éviter tout conflit, ne pas employer un Nom déjà existant dans Excel.
    L'emploi de majuscules permet de le repérer comme nom créé.
    Ce Nom pourra être utilisé dans toutes les formules de toutes les feuilles du classeur.
    Cordialement

    Reply

  19. Anonyme
    16/02/2015 @ 21:59

    Bonjour
    sous MO 2010 je souhaiterais appliquer la formule INDIRECT au 2ème mois de cette formule (ici Mars) =SOMME(Janvier:Mars!AB35) Mais je n'y arrive pas ! =SOMME(INDIRECT("Janvier:Mars!AB35")) Excel m'indique l'erreur #REF!
    Merci de m'éclairer

    Reply

  20. loubet
    22/01/2015 @ 11:35

    Bonjour, desolée je suis un peu perdue: je souhaite mettre un champs multiple ( en fait deux choix "oui" ou" non)" et seulement dans le cas ou "oui " est chosi j aimerai que cela renvoi a une cas a remplir et que cela soit blocant si cette case n est pas completé..je ne sais pas si je suis claire mais merci par avance de votre aide

    Reply

  21. Majérus Paul
    22/12/2014 @ 11:08

    Bonjour,

    Je voudrais ne pas bloquer la case de référence afin de pouvoir étirer ma formule tout en faisant toujours référence à une page. Est-ce possible ? Comment dois-je écrire cette formule ? D'avance, merci pour votre aide !

    Reply

    • Anonyme
      03/03/2015 @ 14:37

      Bonjour

      $A va bloquer la colonne A
      $1 va bloquer la ligne 1

      Donc si tu veux rester toujours dans la meme cellule : $A$1

      Reply

  22. Lili
    06/11/2014 @ 22:55

    Bonjour,

    J'ai créer un fichier excel dans lequel on encode régulièrement des données.

    Dans ma premier feuille, toutes les données sont encodées mais dans ma 2ème feuille, j'aimerais que dans celle-ci, seule certaines données soient repris automatique par rapport à ma 1ère feuille. (le tableau croisé ne me correspond pas car dans cette 2ème feuille, d'autres colonnes s'y ajouterons pour encoder d'autres données.

    Pourriez-vous m'aider ?

    Merci !

    Reply

  23. christ
    18/08/2014 @ 07:34

    bonjour a vous
    j'ai vu votre professionnalisme...
    et je voudrais savoir si vous pouvez m'aider pour la création d'un devis tres particulier en vba ou autre....
    car je n'y connais rien et je suis une petite entreprise et j'aimerais que mes devis soient automatiques et personnel a mon entreprise...
    j'ai essayé des logiciels tout fait mais cela ne me convient pas
    donc je demande votre aide svp
    merci
    a+

    Reply

  24. Pajude
    25/06/2014 @ 08:41

    Bonjour,
    J'ai suivi vos explications très claires pour cette fonction Indirect. Je suis sur Excel 2007, j'ai fait l'exercice et j'ai un souci. Mes cellules sont en format standard, dans ma feuille Global, la TVA remonte au format 0,196 pour 19.60%. J'ai modifié le format en %, le PB c'est que le PIB remonte en %
    Merci de votre aide

    Reply

  25. marc1325
    04/06/2014 @ 13:48

    Bonjour,
    merci pour ces précieux tutos.

    Un petit détail qui ne fonctionne pas avec Excel 2010, la formule FormulaText permettant normalement d'afficher la définition d'une formule dans une cellule.
    Toutefois, cette fonction est aisément redéfinissable par le biais d'un module et de la fonction personnalisée suivante :
    Function FT(MyCell As Range)
    FT = MyCell.Formula
    End Function

    Pour les détails d'implémentation de cette méthode, se référer à ce tutorial : https://www.youtube.com/watch?v=wpRGTvhp1cY

    Reply

    • Frédéric LE GUEN
      01/09/2014 @ 20:24

      Dans Excel 2013, il y a la fonction FORMULETEXTE(référence) qui vous permet d'écrire dans une cellule la formule contenu dans une autre cellule.

      Reply

  26. WIMI
    11/05/2014 @ 11:41

    Bonjour,

    Merci infiniment pour vos explications..Tout semble clair à présent pour moi.. Juste une question, est il possible de changer le No_index de la colonne de manière automatique pour des formules déjà établies?

    Merci d'avance

    Reply

  27. atoch
    30/01/2014 @ 21:08

    bonjour,
    je suis à la recherche d'une solution pour que les liens ne changent pas dans un sous dossier contenant ma feuille excel.
    je m'explique : j'ai à la base un dossier "modèle" qui contient 6 sous-dossiers. Ce dossier "modèle sera copié et son nom va changer en fonction du client.
    par contre aucun changement dans les sous-dossiers.est il possible de garder les liens dans les inters sous-dossiers ?

    merci d'avance pour votre aide

    atoch

    Reply

  28. Laurence
    18/11/2013 @ 21:06

    Bonjour,

    J'essaie d'utiliser la formule indirect avec le format de cellule «date» (jj-mmm), mais je n'y parviens pas... Je dois avouer que la formule avec les espaces m'a quelque peu aidé, mais j'aimerais savoir si c'est possible avec des dates (c'est pour un fichier de feuille de temps hebdomadaires avec un onglet contenant le sommaire annuel).

    Merci d'avance!

    Reply

  29. said
    30/10/2013 @ 18:37

    bjr,

    c'est vraiment intéréssant merci pour ces explicatio,; toute fois je veux créer un fichier de plusieure onglets, et sur l'onglet recap je veux mettre deux menus déroulent ce qui fait deux choix conditionnelle pour recupéré les données des autres onglets, pouvez vous m'aider SVP? 🙂

    merci 🙂

    Reply

  30. desfetes
    24/09/2013 @ 19:04

    Bonjour,

    Pouvez-vous me dire sous qu'elle version excel travaillez vous car elle semble vraiment très sympa??

    Reply

    • Frédéric LE GUEN
      25/09/2013 @ 01:15

      Excel 2013
      Téléchargeable en haut à droite de cette page

      Reply

  31. Zorba
    24/08/2013 @ 21:00

    Bonjour,
    Tout fonctionne parfaitement, merci ! Mais je souhaiterais savoir comment récupérer de façon automatique la liste des onglets ? Celle que vous mettez en colonne A... Et ce, sans macro s'il vous plaît !

    Reply

    • Frédéric LE GUEN
      24/08/2013 @ 23:39

      Bonsoir,
      Ce n'est malheureusement pas possible d'extraire les noms de vos feuilles sans passer par une macro. Mais c'est pas si dur de faire des macros 😉 Pour votre besoin, juste 4 lignes de code suffisent et j'ai justement utlisé cet exemple dans le livre que j'ai écrit (cf référence en haut à droite des pages)

      Reply

    • Anonyme
      08/07/2015 @ 09:30

      J'avais eu ce problème et j'ai trouvé une solution sur le web
      (c'est un peu tiré par les cheveux mais ça marche (au moins en Excel 2010)):

      1-Définir un nouveau nom/plage nommée (onglet Formules) (typiquement nom_feuilles) dans la zone "Fait référence à" entrez la formule
      =LIRE.CLASSEUR(1)

      2- Dans toutes les cellules du classeur, la formule suivante appliquée sur les lignes de 3 à n de n'importe quel onglet permet de récupérer le nom de la feuille
      =SI(LIGNE()-1 <= COLONNES(nom_feuilles); DROITE(INDEX(nom_feuilles;LIGNE()-1);NBCAR(INDEX(nom_feuilles;LIGNE()-1))-TROUVE("]";INDEX(nom_feuilles;LIGNE()-1))); "")

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.