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

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
 

Efgé

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

Re
J'avais bien fait de commencer par "je ne suis pas le mieux placé"
ça suit, certe mais ça ne renvoi plus les bons résultat
Désolé
 

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


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
889
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…