Trouver la cellule max [Résolu]

Signaler
Messages postés
18
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
22 janvier 2009
-
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
-
Bonjour,

je sais que c'est une question toute bete mais je n'arrive pas à trouver !!!

dans mon fichier excel, j'ai une colonne avec des chiffres.
je souhaite avoir le numero de la ligne qui contient le chiffre le plus grand.

Merci pour vos reponses

4 réponses

Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Ha pardon c'est le numero de la ligne qui t'interesse, reprenons:

Dim ValMax As Integer
Dim Line As Integer
Dim Index As Integer
Line = 0
ValMax = 0

For Index = 1 To NbLigne
If Val(Cells(Index, colonne).Value) > ValMax Then
ValMax = Val(Cells(Index, colonne).Value)
Line = Index
End If
Next Index

TextBox1.Text = Str(Line)

Jimy
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Bon là je te mache le boulot!

Private Sub CommandButton1_Click()
Dim ValMax As Integer
Dim Ligne() As Integer
Dim Index As Integer
Dim Chaine As String
Dim Valeur As Integer

ReDim Ligne(1)
Ligne(1) = 0
ValMax = 0

For Index = 1 To NbLigne
Valeur = Val(Cells(Index, Colonne).Value)

If Valeur > ValMax Then
ValMax = Valeur
ReDim Ligne(1)
Ligne(0) = Index
End If

If Valeur = ValMax Then
ReDim Preserve Ligne(UBound(Ligne()) + 1)
Ligne(UBound(Ligne()) - 1) = Index
End If

Next Index

TextBox1.Text = ""

For Index = 1 To UBound(Ligne()) - 1
TextBox1.Text = TextBox1.Text & Str(Ligne(Index))
Next Index

End Sub

Tu recupere donc tout les numeros de ligne dans le tableau Ligne()

Voila, a toi de jouer maintenant...

Jimy
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
Salut,

Dim ValMax As Integer
Dim Index As Integer

For Index = 1 To NbLigne
If Val(Cells(Index, colonne).Value) > ValMax Then ValMax = Val(Cells(Index, colonne).Value)
Next Index

TextBox1.Text = Str(ValMax)

Jimy
Messages postés
18
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
22 janvier 2009

merci !! c'est ce que je voulais...

par contre je viens de me rendre compte :
s'il y a plusieurs valeurs maximales égales, il me les faudraient aussi.

tu penses qu'il y a un moyen de faire ça ?

Pour que tu vois mieux la situation, voila pkoi j'en ai besoin :

j'ai un tableau avec plusieurs lignes, plusieurs colonnes.
j'ai besoin de copier les lignes dont la valeur d'une certaine colonne est maximale.
or cette valeur est sous forme de lettres (des mots quelconques). donc dans un autre tableau (de reference) je fais une liste complete des mots possibles, je leur attribut une valeur en chiffres.

Ensuite, ce que je fais :
-je copie les mots de la colonne dans un onglet temporaire, je marque la valeur issue du tableau de référence a coté pour chaque mot, je regarde quelle ligne est donc maximale, et je recupere cette valeur pour copier la ligne.
PB : mais si plusieurs de ces valeurs sont egales, j'ai besoin de recuperer tous les numeros de lignes pour copier toutes les lignes correspondantes...

est ce que tu vois comment faire ça ?

merci ;)