Recherche max dans un tableau + déterminer les intitulés de la ligne et de la colonne

guigui2113

XLDnaute Nouveau
Bonjour à tous,

J'ai une liste de valeur de température qui proviennent d'un fichier csv que j'importe via une macro.J'ai donc un tableau de la forme suivante :

heure TC1 TC2 TC3 ...
12h00 500 525 522 ...
12h05 550 555 555 ...
12h10 575 582 580 ...
12h15 570 580 570 ...
... ... ... ...


Je voudrais trouver dans le tableau la valeur maximale présente (pas de soucis : fonction max()) qui me renvoie 582. Mais je voudrais savoir à quel thermocouple et à quel temps cette valeur est associée : soit avoir dans 2 cellules les valeurs
TC2
12h10



Les fonction RECHERCHEV et RECHERCHEH ne fonctionne que sur une seule ligne ou colonne et pas sur un tableau. De plus, mes valeurs ne sont pas (et ne peuvent pas) être triées (sinon cela fausse mon graphique dans les feuillets suivants).

L'imbrication d'une fonction colonne(max(plage)) ne fonctionne évidement pas...
Avec la fonction Equiv ?

Quelqu'un peut-il m'aider ?
Merci d'avance
 

JBOBO

XLDnaute Accro
Re : Recherche max dans un tableau + déterminer les intitulés de la ligne et de la co

Bonjour,

Etant donné que tu n'as pas encore de réponse je post ma solution. Elle est déplorable car elle utilise plusieurs cellules supplementaires, mais faute de mieux pour le moment, peut etre pourra tu t'en inspirer. je te laisse regarder, mais j'avoue que je ne serais pas véxé si tu choisis une autre solution.
 

Pièces jointes

  • essai entete.xls
    18.5 KB · Affichages: 69

Tibo

XLDnaute Barbatruc
Re : Recherche max dans un tableau + déterminer les intitulés de la ligne et de la co

Bonjour le fil,

Une autre approche :

Avec tes données de A1 à ...

Pour l'heure :

Code:
=INDEX($A$1:$A$5;SOMMEPROD(($B$2:$D$5=MAX($B$2:$D$5))*LIGNE($A$2:$A$5)))

ou :

Code:
=INDIRECT(ADRESSE(SOMMEPROD(($B$2:$D$5=MAX($B$2:$D$5))*LIGNE($A$2:$A$5));1))

pour les thermocouples :

Code:
=INDEX($A$1:$D$1;SOMMEPROD(($B$2:$D$5=MAX($B$2:$D$5))*COLONNE($B$1:$D$1)))

ou :

Code:
=INDIRECT(ADRESSE(1;SOMMEPROD(($B$2:$D$5=MAX($B$2:$D$5))*COLONNE($B$1:$D$1))))

à adapter à ton vrai tableau

@+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Recherche max dans un tableau + déterminer les intitulés de la ligne et de la co

Bonjour le fil, bonjour le forum,

En pièce jointe une proposition VBA qui gère la valeur max plusieurs fois dans le tableau avec le code ci-dessous :
Code:
Sub Macro1()
Dim pl As Range 'déclare la variable pl (PLage)
Dim plv As Range 'déclare la variable plv (PLage des Valeurs)
Dim m As Double 'déclare la variable m (Maximum)
Dim r As Range 'déclare la variable r (Recherche)
Dim pa As String 'déclare la variable pa (Première Adresse)
Dim msg As String 'déclare la variable msg (MeSsaGe)
 
Set pl = Range("A1").CurrentRegion 'définit la plage pl (à adapter à ton cas)
Set plv = pl.Offset(1, 1).Resize(pl.Rows.Count - 1, pl.Columns.Count - 1) 'définit la plage plv (pl ans les étiquettes)
m = Application.WorksheetFunction.max(pl) 'définit la variable m (max de pl)
Set r = plv.Find(m, , xlValues, xlWhole) 'définit la recherche r (Recherche m dans pl)
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence
    pa = r.Address 'définit la première adresse
    msg = "Maximum : " & r.Value & Chr(10) & Chr(10)
    Do 'Exécute
        r.Interior.ColorIndex = 4 'couleur verte pour la cellule max
        Cells(1, r.Column).Interior.ColorIndex = 3 'couleur rouge pour l'heure
        Cells(r.Row, 1).Interior.ColorIndex = 3 'couleur rouge pour le TC
        msg = msg & Cells(1, r.Column).Value & " / " & Format(Cells(r.Row, 1), "hh:mm") & Chr(10) 'définit la message
        Set r = pl.FindNext(r) 'redéfinit la recherche (occurrence suivante)
    Loop While Not r Is Nothing And r.Address <> pa 'boucle tant qu'il existe des occurrences ailleurs qu'en pa
    MsgBox msg, vbOKOnly, "MAXIMUM" 'affiche le message
    pl.Interior.ColorIndex = xlNone 'supprime les couleurs
End If
End Sub
 

Pièces jointes

  • Guigui_v01.xls
    36 KB · Affichages: 53
  • Guigui_v01.xls
    36 KB · Affichages: 43
  • Guigui_v01.xls
    36 KB · Affichages: 54

Monique

Nous a quitté
Repose en paix
Re : Recherche max dans un tableau + déterminer les intitulés de la ligne et de la co

Bonjour ou re,

Les 12 valeurs dans l'ordre décroissant et leur thermocouple
Formules matricielles, à valider par ctrl, maj et entrée
 

Pièces jointes

  • EssaiEnteteV1.xls
    33 KB · Affichages: 77

guigui2113

XLDnaute Nouveau
Re : Recherche max dans un tableau + déterminer les intitulés de la ligne et de la co

A tous, merci pour vos réponses...

@JBOBO, j'y avais pensé aussi mais j'ai des tableaux qui sont trop volumineux pour pouvoir me débrouiller avec ça... ;)
@Tibo, ça marche nickel, je vais l'utiliser pour le moment en attendant de voir ce qu'on va me demander de faire en plus sur ce document dans ce cas, je passerai certainement à l'utilisation d'une macro, je m'attaquerai donc à modifier la solution de Robert qui gère les doublons pour mon application finale...

Merci à tous !!
 

Discussions similaires

Statistiques des forums

Discussions
312 237
Messages
2 086 489
Membres
103 234
dernier inscrit
matteo75654548