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 :
J'ai l'impression que c'est parce que je parcours mal le tableau , qu'en pensez vous?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci .
Partager