Formule avec référence tableau - bloquer les références

[Résolu/Fermé]
Signaler
Messages postés
215
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
6 septembre 2020
-
Messages postés
215
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
6 septembre 2020
-
Bonjour,
Pas facil d'expliquer quand excel utilise le même mot "Tableau" qu'il soit fait de manière classique et avec "inserer tableau" ce que j'utilise ici.
Mon problème :
J'ai une forume du style :
=INDEX(oj;EQUIV(oj[ligne;[Colonne1]];oj[Colonne1];0);3)
Quand je tire la formule pas de pb, mais si je tire à droite, je voudrais :
=INDEX(Tb1;EQUIV(Tb1[ligne;[Colonne1]];Tb1[Colonne1];0);4)
or j'obtiens :
=INDEX(Tb1;EQUIV(Tb1[ligne;[Colonne2]];Tb1[Colonne2];0);3)

Comment figer [colonne1] comme je pourrai faire $G$1:$G$20 ?
Merci de votre aide

5 réponses

Messages postés
24147
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 août 2021
6 849
Quand je disais ne pas les utiliser c'était dans ce cadre là : ref absolues.
Sinon bien sûr que c'est une avancée très intéressante qu'il faut utiliser.

Ok, et quand tu as un mix absolu/relatif ?
Tu fais un coupié/collé ? ;-)

Si vraiment tu tiens absolument à conserver les ref structurées pour la lecture tu peux aussi la rendre absolue avec indirect([Colonne1]).
Là tu peux avoir un mix, Colonne1 ne changera pas avec la recopie, les autres si.

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
26122
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
30 juillet 2021
5 999
Bonjour
pas tout compris, mais à tout hasard

$G$1:$G$20 bloque le champ dans les deux sens
G$1:G$20 bloque les N° de ligne, mais pas les colonnes
$G1:$G20 bloque le colonnes et pas les lignes

pour info, si vous voulez y voir plus clair dans des formules "éclaircies"
option excel/ formule et décochez:"utiliser les noms de tableaux dans les formules", ce sont les adresses de champ qui s'afficheront

crdlmnt


crdlmnt
Messages postés
24147
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 août 2021
6 849
Bonjour,

Le plus simple est de ne pas utiliser de référence structurée et de remplacer par des références classiques pour cette partie.
Nomme ta plage (de façon dynamique si besoin) et utilise ce nom à la place [Colonne1]

eric
Messages postés
215
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
6 septembre 2020
14
Bonjour Vaucluse et Eric,
Merci pour vos réponses, mais je cherche si possible, à utiliser au maximum les références structurées (j'ai appris un terme...), car c'est plus facile à comprendre pour les utilisateurs...
Il me semble que je l'ai déjà vu quelque part...
Merci

Grace au terme que vous m'avez appris, j'ai refait une recherche et je suis tombée (aïe) sur un article de Pierre Fauconnier
https://blog.developpez.com/fauconnier/p11331/trucs-et-astuces/48
qui dit, je cite :
"En résumé:
lors d'une recopie latérale, si je veux utiliser une référence structurée de manière relative, j'utilise le bouton de recopie.

Si je veux utiliser une référence structurée absolue, j'utilise le copier/coller."
Excellent article que je recommande

Merci encore pour votre aide.
Messages postés
215
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
6 septembre 2020
14
Waouh, Bien vu Eric,
mais je ne maîtrise pas la fonction indirect, peux-tu me donner un exemple de formule utilisant une forme mix et des réf structurées, stp.

Merci
Messages postés
24147
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
2 août 2021
6 849
Indirect() fabrique une référence à partir d'une chaine texte. Comme c'est une chaine elle ne change pas sur une recopie incrémentée.
J'avais oublié les " ".
D'où l'intérêt encore une fois de fournir un fichier de travail ;-) Là j'aurais testé....

Si ton tableau s'appelle tb1 (il faut le spécifier dans la chaine pour avoir l'adresse complète) ça donnerait qq chose comme ça :
=INDIRECT("tb1[@[Colonne1]]")+[@Colonne2]

qui tiré vers la droite donnera :
=INDIRECT("tb1[@[Colonne1]]")+[@Colonne3]

Colonne1 : absolue
Colonne2 : relative

eric
Messages postés
215
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
6 septembre 2020
14
Un très grand merci Eric.