OVH Cloud OVH Cloud

VBA - Recherche simultanée du maximum et du minimum

1 réponse
Avatar
Jean-mi
Bonjour,
Quelqu'un peut-il r=E9ussir =E0 comprendre mon probl=E8me ?
Je recherche simultan=E9ment (dans la m=EAme proc=E9dure) le=20
minimum et le maximum d'une suite de
cinq chiffres que je place dans un tableau.
J'initialise max et min :
max =3D Tableau(1) et min =3D Tableau(1)
Je stocke ensuite les valeurs minimales et maximales dans=20
max et min de la fa=E7on suivante :
For j =3D 1 To 5
If min > Tableau(j) Then
min =3D Tableau(j)
j =3D j + 1
End If
If max < Tableau(j) Then
max =3D Tableau(j)
j =3D j + 1
End If
Next j
Le r=E9sultat est parfois bon, mais parfois erronn=E9.
O=F9 est l'erreur ?

Merci d'avance =E0 ceux ou =E0 celles qui prendront la peine=20
de me r=E9pondre.

Jean-michel

1 réponse

Avatar
Michel Gaboly
Bonjour,

Utilise plutôt les fonctions MIN() et MAX des feuilles
de calcul qui accélèrent le traitement, car cela évite
de passer par une boucle :

Min = Application.WorksheetFunction.Min(Tableau)
Max = Application.WorksheetFunction.Max(Tableau)

Par ailleurs, évite de donner le nom de fonctions aux
variables, utilise plutôt TMin et TMax.



Bonjour,
Quelqu'un peut-il réussir à comprendre mon problème ?
Je recherche simultanément (dans la même procédure) le
minimum et le maximum d'une suite de
cinq chiffres que je place dans un tableau.
J'initialise max et min :
max = Tableau(1) et min = Tableau(1)
Je stocke ensuite les valeurs minimales et maximales dans
max et min de la façon suivante :
For j = 1 To 5
If min > Tableau(j) Then
min = Tableau(j)
j = j + 1
End If
If max < Tableau(j) Then
max = Tableau(j)
j = j + 1
End If
Next j
Le résultat est parfois bon, mais parfois erronné.
Où est l'erreur ?

Merci d'avance à ceux ou à celles qui prendront la peine
de me répondre.

Jean-michel


--
Cordialement,

Michel Gaboly
http://www.gaboly.com