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

[VBA] Ligne à laquelle se trouve le max de plusieurs cellules [Résolu]

  • Initiateur de la discussion Initiateur de la discussion darkneo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

darkneo

Guest
Bonjour,

j'ai besoin de récupérer non pas le maximum de 4 cellules (F23:F26), mais le numéro de la ligne à laquelle ce maximum a été trouvé.

Merci
 
Dernière modification par un modérateur:
Re : [VBA] Ligne à laquelle se trouve le max de plusieurs cellules

Bonjour,

si j'ai compris ton besoin

tu peux faire {=EQUIV(MAX(F23:F26);F23:F26;0)} à valider par ctrl+shift+enter

cela te donne le numéro de la ligne dans la matrice, si tu veux le numéro de la ligne excel tu ajoute 22
 
Re : [VBA] Ligne à laquelle se trouve le max de plusieurs cellules

Bonjour,

tu peux faire aussi en vba comme ceci.

Private Sub Worksheet_Change(ByVal Target As Range)
col = Target.Column
If col = 6 Then 'je controle si changement uniquement dans la colone 6 ==> F
Set myrange = Worksheets("Feuil1").Range("F:F")
Max = Application.WorksheetFunction.Max(myrange)
Range("F:F" & fin).Select
Selection.Find(What:=Max).Select
col_max = ActiveCell.Row
MsgBox "ligne : " & col_max
End If
End Sub

Bonne journée.

John
 
Re : [VBA] Ligne à laquelle se trouve le max de plusieurs cellules

Il ne serait pas possible de faire plus simple ?

Quelque chose comme :

rowMax = Application.WorksheetFunction.Max(Range("F23:F26")).Row
(Erreur, qualificateur incorrect sur .Max)


Je suis débutant en VBA mais ayant déjà fait de la programmation objet je pense qu'il doit y avoir un moyen de récupérer la ligne d'une façon qui se rapprocherait de ça...
 
Dernière modification par un modérateur:
Re : [VBA] Ligne à laquelle se trouve le max de plusieurs cellules

Re,

Tu ne peux pas mettre le .row derrière la fonction Application.WorksheetFunction.Max(Range("F23:F26")), donc on est obligé de contourner le problème autrement !!

Mais si tu veux faire plus court, tu peux faire comme ceci
Private Sub Worksheet_Change(ByVal Target As Range)
Max = Application.WorksheetFunction.Max(Range("F23:F26"))
Range("F23:F26").Select
Selection.Find(What:=Max).Select
col_max = ActiveCell.Row
end sub

Bonne journée.

John
 
Dernière édition:
Re : [VBA] Ligne à laquelle se trouve le max de plusieurs cellules

Rebonjour,

en vba tu peux utiliser ma formule mais en deux temps, mais est-ce plus simple?


Set Plage = Range("F23: F26 ")
Valmaxi = Application.WorksheetFunction.Max(Plage)
maxi = Application.WorksheetFunction.Match(Valmaxi, Plage, 0) + 22
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
170
  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
288
Réponses
3
Affichages
188
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…