Trouver la cellule max

Résolu
midoparis Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 22 janvier 2009 - 20 mai 2008 à 12:04
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 20 mai 2008 à 15:10
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

jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
20 mai 2008 à 12:54
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
3
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
20 mai 2008 à 15:10
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
3
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
20 mai 2008 à 12:51
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
0
midoparis Messages postés 18 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 22 janvier 2009
20 mai 2008 à 14:19
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 ;)
0
Rejoignez-nous