VBA - Recherche simultanée du maximum et du minimum
1 réponse
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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.
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.