Indirect et entête de colonne

Bonjour à tous,

depuis quelques jours, je suis à la recherche d 'une solution pour mon problème.

j' ai un classeur avec 2 onglets:

  • 1er onglet, généré par une extraction à partir d' un logiciel extérieur. il est composé de X colonnes avec entête pour chacune et de x lignes
  • 2éme onglet, récapitulatif de l'onglet extraction.

le fichier peut avoir plusieurs fois cette paire d' onglets.

dans le 2éme onglet j ' ai une cellule dans laquelle je tape le nom de l' onglet qui contient le fichier extrait que je veux récapituler et qui est nommée.

j' utilise la formule suivante pour aller récupérer les données dans l'onglet extrait

(SOMME.SI(INDIRECT("'"&nomdelafeuillecontenantl'extraction&"'!$F3:$F25000");D49;INDIRECT("'"&nomdelafeuillecontenantl'extraction&"'!$J3:$J25000")))

je cherche à remplacer !$F3:$F25000" et !$J3:$J25000" par le nom de l' entête de chacune des colonnes voulues car le fichier est exploité par plusieurs personnes qui ne configurent pas l' extraction de la même façon

j' ai essayé "'"&nomdelafeuillecontenantl'extraction&"'[nomdelacolonne]" mais ça ne gaze pas.

je ne sais pas si :

* je dois privilégier une concaténation quelconque dans une cellule de la feuille pour créer correctement le nom de la colonne

* je dois intégrer directement une recherche de l' entête dans chaque formule

Quelqu'un sait 'il m' aider s'il vous plait bien ?

33test.xlsx (103.44 Ko)

Bonjour,

Diverses méthodes possibles... mais :

j' ai essayé "'"&nomdelafeuillecontenantl'extraction&"'[nomdelacolonne]" mais ça ne gaze pas.

pour celle-ci, le nom de la feuille n'intervient pas : [nomduTableau[nomdelacolonne]]

Cordialement.

Bonjour MrFerrand,

merci d' avoir pris en compte ma demande.

je n' arrive pas à placer correctement les [ ] avec mon indirect.

Mais là tu pointes directement les colonnes...

Supprime donc INDIRECT de ta formule !

oui mais ma feuille est variable , le nom de la colonne restera toujours le même mais pas le nom de la feuille;

si je me contente de (SOMME.SI(["'"&nomdelonglet&"'][Fonction]]");D123;["'"&nomdelonglet&"'][NBRE_HEURES]")))

ça ne fonctionne pas

Tu veux utiliser deux méthodes incompatibles dans la même formule...

Soit le tableau avec ses colonnes.

Soit la feuille avec les références de plages.

Merci Mr Ferrand,

Mettons que je cherche à identifier la colonne qui porte l' entête "fonction" dans l'onglet " fichier extrait" , est-il possible, par concaténation d' avoir une cellule qui porterait du coup " "'"&nomdelafeuillecontenantl'extraction&"'[entete delacolonne]" qui serait ensuite utilisable dans une formule en utilisant la cellule comme référence ?

pour étre plus clair:

si en A1, j' arrive à avoir [Fichierextrait[entetedelacolonne]] en concaténant je ne sais pas trop comment

est-ce que je pourrais en A2 utiliser la formule (SOMME.SI(INDIRECT(A2);D18;INDIRECT(A2))) ou (SOMME.SI((A2);D18;(A2)))

sachant que les colonnes n'ont pas de nom à proprement parlé mais juste une entête.

sinon est-ce que je peux , dans le gestionnaire de nom, utiliser une formule magique qui permettrait de donner un vrai nom à la colonne qui porte l' intitulé fonction de façon à y faire référence dans ma formule finale ?

merci d' avance

Les colonnes ont une en-tête utilisable dans le tableau, car tu as mis en place un tableau Excel !

Tu peux donc utiliser directement le nom du tableau et les colonnes par leur en-têtes dans les formules...

Si tu as plusieurs tableaux de l'espèce, tu pourras à chaque fois utiliser le nom du tableau dans les mêmes conditions pour mettre tes formules.

Sinon tu ne peux qu'améliorer ton système en concaténant en B3 (ou dans plusieurs cellules puisque tu as plusieurs plages) les adresses complètes des plages qui s'insèreront dans tes formules par INDIRECT(RefCellule).

Bonjour M'sieurs dames,

Mr Ferrand, en effet l' extraction depuis un logiciel extérieur me crée automatiquement des tableaux qui ont toujours les mêmes entête, par commodités je souhaite utiliser le nom de l' onglet ( qui n' est pas généré automatiquement, que je crée donc moi même) plutôt que le nom du tableau

* j' ai donc le nom de l'onglet concerné par ma recherche en B3 de la feuille "recap" ( dans mon fichier : fichier extrait en B3)

* comme je cherche la colonne qui porte l' entête FONCTION dans la feuille qui s' appelle "fichier extrait, je tape fonction dans D3 de la feuille recap;

* comme j' ai également besoin de la colonne qui porte l' entête Nbre_Heures dans la feuille qui s' appelle " fichier extrait", je tape Nbre-Heures dans D4 de la feuille recap

* pour concaténer tout ça , j' utilise en D5 la formule : = B3& "[" & D3 & "]" et en D6= B3& "[" & D4 & "]"

* ensuite pour ma fonction somme si j' utilise : (SOMME.SI(INDIRECT(D5);D13;INDIRECT(D6)))

et là je récupère un #ref!

help me plize, je m' y perd.

merci d' avance

Bonsoir,

Je pensais avoir exposé clairement ta problématique mais tu continues de tourner en rond.

MFerrand a écrit :

Tu veux utiliser deux méthodes incompatibles dans la même formule...

Soit le tableau avec ses colonnes.

Soit la feuille avec les références de plages.

Tes noms de colonne constituent une référence dans le tableau, mais pas dans la feuille.

Tu utilises la feuille avec des références lignes ou colonnes...

Tu donnes des noms (que tu peux utiliser tels quels)...

Tu utilises le tableau, nommé automatiquement...

Le choix t'appartient pour arriver au résultat mais si diverses méthodes sont utilisables, certains mixages ne peuvent fonctionner !

Cordialement.

Bonjour Mr Ferrand,

merci pour votre aide, je m' en vais donc me tourner vers d' autres solutions;

Merci de m' avoir accordé du temps.

Rechercher des sujets similaires à "indirect entete colonne"