dernier max d'une colonne

candice**

XLDnaute Nouveau
Bonjour,

J'aurais voulu savoir comment faire pour trouver la dernière avec max d'une colonne je m'explique j'ai une colonne de plusieurs valeurs ou il y a plusieurs fois les même je voudrais donc trouver le dernier max de cette colonne.

Si quelqu'un à une réponse je suis preneuse.

Merci
 

xUpsilon

XLDnaute Accro
Bonjour,

En VBA, à inclure dans un module (en supposant que tes valeurs soient stockées dans la colonne A et commencent à la ligne 1 :
VB:
Dim a, Lig, i as Integer

For i = 1 to Range("A1").End(xlDown).Row
    If Range("A" & i)>= a then
        a = Range("A" & i)
        Lig = i
    End if
Next i
MsgBox "La valeur max est " & a & "à la ligne " & Lig

Bonne continuation
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Avec les valeurs en A1:A32, n° de ligne de la dernière valeur max:=AGREGAT(14;6;LIGNE(A1:A32)/(A1:A32=MAX(A1:A32));1)
Pour avoir la valeur correspondante : =INDEX(A1:A32;AGREGAT(14;6;LIGNE(A1:A32)/(A1:A32=MAX(A1:A32));1))
Mais dans ce dernier cas MAX(A1:A32) le fait tout aussi bien
cordialement
 

xUpsilon

XLDnaute Accro
Re le fil, Bonjour Roblochon,

Effectivement, sans vba, tu peux trouver facilement, mais la question devient alors si tu cherches la dernière plus grande valeur (la plus grande valeur tout court du coup), ou la ligne de la dernière plus grande valeur.

Bonne continuation
 

patricktoulon

XLDnaute Barbatruc
bonjour
sinon fonction large combinée a find xlprevious
VB:
Sub LastMax()
    col = 1
    Set plage = Range(Cells(1, col), Cells(Rows.Count, col).End(xlUp))
    Max = WorksheetFunction.Large(plage, 1)
    Set cel = plage.Find(Max, LookIn:=xlValues, SearchDirection:=xlPrevious)
    MsgBox cel.Address
End Sub

bonjour @xUpsilon
très mauvaise idée d'utiliser (xldown) :si il y a une cellule vide avant la fin ben c'est rapé !! ;)
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

La fonction matricielle suivante vous retourne le n° de ligne correspondant au dernier MAX de A1:A32: GRANDE.VALEUR(SI(A1:A32=MAX(A1:A32);LIGNE(A1:A32));1)
vous devrez la valider par CTRL+MAJ+ENTREE (ce qu'évitait Agregat)

Mais vous ne dites toujours pas ce que vous voulez en faire.

Cordialement
 

candice**

XLDnaute Nouveau
Re,

La fonction matricielle suivante vous retourne le n° de ligne correspondant au dernier MAX de A1:A32: GRANDE.VALEUR(SI(A1:A32=MAX(A1:A32);LIGNE(A1:A32));1)
vous devrez la valider par CTRL+MAJ+ENTREE (ce qu'évitait Agregat)

Mais vous ne dites toujours pas ce que vous voulez en faire.

Cordialement
Merci beaucoup roblochon cela fonctionne

Je veux utiliser cette ligne pour ensuite trouver la valeur d'une autre cellule de cette même ligne pour intégrer cette valeur à une formule qui me trace une droite tangente à une autre droite au point max de cette deuxième. C'est un peu compliqué mais votre solution pour mon problème fonctionne.

Merci à tous
 

Discussions similaires

Réponses
0
Affichages
147

Statistiques des forums

Discussions
312 165
Messages
2 085 884
Membres
103 017
dernier inscrit
pierre noyer