Références dans les formules appliquées aux tableaux

Victor21

XLDnaute Barbatruc
Bonjour, lézamis.

Je rencontre un fonctionnement que je ne m'explique pas avec cette formule appliquée à un tableau :
=INDIRECT(ADRESSE(EQUIV(MAX($B$1:$B$7);$B$1:$B$7;0);1;4))
Lors de l'ajout d'une ligne au tableau, les références absolues aux zones ne s'adaptent pas, alors qu'avec d'autres formules du type :
=DECALER($A$1;EQUIV(MAX($B$3:$B$7);$B$3:$B$7;0)+1;0)
=INDEX($A$3:$A$7;EQUIV(MAX($B$3:$B$7);$B$3:$B$7;0))
les zones en référence s'adaptent lors de l'augmentation de la taille du tableau.

Pouvez-vous confirmer le phénomène ? Avez-vous une explication ?
 

Pièces jointes

  • equiv à la traine.xlsx
    10.8 KB · Affichages: 31

Efgé

XLDnaute Barbatruc
Re : Références dans les formules appliquées aux tableaux

Bonjour Patrick :)
Je ne suis pas le mieux placé, mais....
Il y a quelque chose qui me chifonne, tes plages de recherches ne sont pas toujours équivalentes.
En $H$4 par exemple:
si tu change ta formule =INDIRECT(ADRESSE(EQUIV(MIN($C$3:$C$9);$C$1:$C$7;0);1;4))
par
=INDIRECT(ADRESSE(EQUIV(MIN($C$3:$C$9);$C$3:$C$9;0);1;4))
Ca fonctionne (enfin sous 2003)

Cordialement
 

Jocelyn

XLDnaute Barbatruc
Re : Références dans les formules appliquées aux tableaux

Bonjour le Forum,
Bonjour Victor21,:),,

Hum, hum, Alors mon ami ne vois tu pas que tu cherche dans ce equiv de ton exemple en cellule H3:

MAX($B$3:$B$8);$B$1:$B$7;0) la plus grande valeur de la plage B3:B8 dans la plage B1:B7 la plus grande valeur étant en en B8 résultat #N/A :)

avec MAX($B$3:$B$8);$B$1:$B$8;0) cela doit fonctionner:p


Que la force soit avec toi :)

Amicalement

EDIT bonjour Efgé:), ta formule fonctionne mais ce qu'il faut par rapport à la partie Adresse c'est le numéro de ligne excat en demandant dans le equiv la position de la valeur cherché a partir du début des données soit ligne 3 on a un decalage de 3 ligne il suffit de demander la position a partir de la ligne 1 et tout rentre dans l'ordre donc 2ème partie de l'equiv C1:C9

Amicalement
 
Dernière édition:

Jacou

XLDnaute Impliqué
Re : Références dans les formules appliquées aux tableaux

Bonjour Victor, bonjour le forum,
La formule que tu as mise dans ton fichier est
=INDIRECT(ADRESSE(EQUIV(MAX($B$3:$B$7);$B$1:$B$7;0 );1;4))
et non =INDIRECT(ADRESSE(EQUIV(MAX($B$1:$B$7);$B$1:$B$7;0 );1;4))
je confirme que lorsqu'on ajoute une ligne en-dessous du tableau, la mise à jour de ($B$1:$B$7) ne se fait pas alors que celle de $B$3:$B$7 se fait.
Je ne sais pas pourquoi, si ce n'est que j'avais déjà constaté que lors de l'insertion de cellules la mise à jour ne se faisait que dans le cas où l'insertion se faisait à l'intérieur du tableau initial (la ligne 8 est à l'extérieur du tableau initial - Quand on remplit les cellules A8 à C8, il n'y a d'ailleurs pas insertion de cellules puisqu'elles existent, avec des valeurs "vide").
si on remplace ta formule par =INDIRECT(ADRESSE(EQUIV(MAX($B$3:$B$7);$B$3:$B$7;0 )+2;1;4))
la mise à jour se fait.
Je suis moi aussi preneur de l'explication.
Jacou
 

Victor21

XLDnaute Barbatruc
Re : Références dans les formules appliquées aux tableaux

Re, lézamis :)

Merci de participer.

En fait il y avait une erreur dans mes formules (réf à B7 au lieu de B8), mais ce n'était pas la seule cause du "dysfonctionnement" :)
Pour que la plage s'adapte à l'évolution du tableau, elle doit correspondre au départ à la taille du tableau :)

=INDIRECT(ADRESSE(EQUIV(MAX($B$3:$B$8);$B$3:$B$8;0)+2;1;4))
fonctionne alors qe :
=INDIRECT(ADRESSE(EQUIV(MAX($B$3:$B$8);$B$1:$B$8;0);1;4))
ne fonctionne pas.
 

Discussions similaires

Réponses
1
Affichages
879

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel