Explication d'un prog VBA (max)

Sebb34

XLDnaute Nouveau
Bonjour à tous, j'ai débuté la programmation en VBA récemment, et notre enseignant nous a donné un programme avec la correction. Mais je ne comprends pas sa logique pour avoir le maximum.

il était demandé de réaliser une procédure Sub nommée client permettant de rentrer successivement le nom et le solde bancaire de 5 clients au clavier, de calculer le solde moyen, de compter combien sont débiteurs et d'afficher le nom et le solde du client "le plus riche".

le programme est le suivant et il fonctionne!

Sub clients()
Dim NAME As String
Dim maxname As String
Dim Solde As Currency
Dim Max As Currency
Dim Nbdeb As Integ
er
Dim i As Integer
Dim total as currency
Nbdeb = 0
NAME = InputBox("Entrez le nom du client")
Solde = InputBox("Entrez son solde")
Max = Solde
maxname = NAME
For i = 1 To 5
NAME = InputBox("Entrez le nom du client")
Solde = InputBox("Entrez son solde")
To
tal=total+solde
If Solde < 0 Then
Nbdeb = Nbdeb + 1
End If
If Solde > Max Then
maxname = NAME
Max = Solde
End If
Next
Msgbox("solde moyen des clients :" & total/5)
MsgBox ("Il y a " & Nbdeb & " soldes débiteurs")
MsgBox ("Le client le plus riche est :" & m
axname & ". Son solde est :" & Max)
End Sub


Mais je ne vois pas comment on peut avoir le max? je ne comprends pas la logique... mon prof étant absent et les examens arrivants bientôt..
Quelqu'un a une idée?

Seb
 

Sebb34

XLDnaute Nouveau
Dans le code proposé, il y a une boucle principale 'For i = 1 To 5' dans laquelle est demandé à l'opérateur de saisir divers montants.

Juste avant la boucle, le code stocke le premier montant saisi dans la variable 'max'
A chaque itération de i (donc pour chaque montant saisi), le code vérifie si le montant est supérieur au max, et si c'est le cas ce montant devient le max.
Au passage dans cette même boucle on compte le nombre de montants négatifs => variable 'nbdeb'

En fait c'est comme si il y avait une liste de noms+montants : pour déterminer le max, on lit ligne par ligne et si le montant est sup au précédent, on le retient pour le restituer à la fin de la lecture.

Est-ce plus clair?

Oui beaucoup plus clair!
Merci!
 

Statistiques des forums

Discussions
312 101
Messages
2 085 297
Membres
102 855
dernier inscrit
creed