plus grand élément dans un tableau
Bonjour , je dois écrire une fonction qui me renvoie le plus grand élément du tableau parmi ceux qui sont strictement inférieurs à un nombre n passé en paramètres . La fonction renvoie "erreur" si il n'y a pas de plus grand élément.
Voici mon idée d'algorithme : On déclare une variable X qui par définition est égale au 1er élément du tableau .
Si la case du tableau contient une valeur inférieure à n Ensuite
Si la case du tableau contient une variable plus petite que X , alors on passe à la case suivante ,
SINON
X est égal à la valeur de la case .
Fin du 1er if
SINON
on passe à la case suivante
FIN
J'ai tenté d'écrire un code qui dans un 1er temps ne s'occupe pas du erreur , juste du n et de la recherche du 1er élément , mais il fonctionne pas bien , le voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Function plusGrand(ByVal n As Long) As Single
Dim plage As Range
Dim i As Integer, X As Integer
Set plage = Range(Cells(1, 1), Cells(20, 1))
X = plage.Cells(1, 1).Value
For i = 2 To 20
If plage.Cells(i, 1).Value < n Then
If plage.Cells(i, 1).Value < X Then
i = i + 1
Else
X = plage.Cells(i, 1).Value
i = i + 1
End If
i = i + 1
End If
Next i
plusGrand = X
End Function |
J'ai l'impression que c'est parce que je parcours mal le tableau , qu'en pensez vous?
Merci .