Quand Index et Equiv ne suffisent plus .. VBA ?

Mordj

XLDnaute Nouveau
Bonjour,

J'essaie de résoudre un problème semble-t-il insolvable avec le sfonctions INDEX et EQUIV.

Dans un tableau B65:AJ99 j'un ensemble de valeur (des surfaces en m²)
En cellule C58 je rentre une valeur : 13000 par exemple
En cellule C59 je recherche la valeur la plus proche de C57 qu'il y a dans mon tableau (avec ctrl+entrée car calcul matriciel): =MIN(SI(B65:AJ99>=C57;B65:AJ99))
La valeur retournée (en C58) est 13011.86, elle se trouve en cellule AF70.

J'ai besoin d'afficher dans une cellule :
  • le n° de la travée de la valeur de la cellule la plus proche : dans notre cas c'est la cellule AF70 et donc la travée n°31 (la valeur Travée n°31 se trouve en fait en AF63)
  • le n° de la travée dont la cellule sur la même ligne que AF70, a la plus petite valeur de la ligne : dans notre cas ce sera la cellule G70 et donc la travée 6

J'ai bien essayé avec INDEX et EQUIV mais cela me renvoie une erreur car EQUIV semble-t-il ne supporte les tableaux à double entrée du style =EQUIV(C58;B65:AJ99;0) ni ne supporte les calculs matriciels.

Une fois ce problème résolu je pourrais m'atteler à créer une macro qui dessine un rectangle qui fera la taille de la travée x à la travée y

Merci de votre aide
 

Pièces jointes

  • Surfaces hall - Copy ext.xlsx
    21.3 KB · Affichages: 13

job75

XLDnaute Barbatruc
Bonsoir Mordj, djidji59430,

Formule matricielle en H58 =MIN(SI(B65:AJ99=C58;COLONNE(B65:AJ99)))

Formule normale en H59 =64+EQUIV(C58;INDEX(A65:AJ99;;H58);0)

Et en J59 =ADRESSE(H59;H58)

A+
 

Pièces jointes

  • Surfaces hall - Copy ext(1).xlsx
    28.8 KB · Affichages: 15

Mordj

XLDnaute Nouveau
C'est top merci beaucoup !

La version avec adresse fonctionne nickel. En revanche celle avec
=INDEX($B$63:$AJ$63;EQUIV(MIN(SI(INDIRECT("b"&63+H59&":aj"&63+H59)>0;INDIRECT("b"&63+H59&":aj"&63+H59)));INDIRECT("b"&63+H59&":aj"&63+H59);0))

Renvoie la travée 6 au lieu de 31.
C'est un détail.
Merci encore !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 493
Messages
2 110 196
Membres
110 700
dernier inscrit
guiguione