Comment introduire le répéter dans mon algorithme
bonjour à tous,
je cherche à introduire dans mon algorithme (voir en dessous) le do until loop (répeter jusqu'à) on me dit que c'est comme le wile wend sauf qu'il se met à la fin c'est a dire que je doit placer le do (entre quoi?) et le loop (entre quoi ) j'ai pas compris ou le fameux répéter jusqu'à se place ...
merci pour votre futur réponse (algorithme : )
Private Sub Calcul_Click()
Dim Nbhcpta As Integer
Dim Nbhconseil As Integer
Dim NetHT As Single
Dim NetTTC As Single
Dim Rglmt As String
Dim Mtescpte As Single
Dim I As Integer
Dim somme As Integer
Dim Nbfact As Integer
Const Txcpta = 60
Const Txconseil = 80
Const TxTVA = 0.2
Const TxEscpte = 0.03
Nbhcpta = InputBox("Quel est le nombre d'heures réalisés en comptabilité?")
Nbhconseil = InputBox("Quel est le nombre d'heures réalisés en conseil?")
NetHT = (Txcpta * Nbhcpta) + (Txconseil * Nbhconseil)
While NetHT < 1000
MsgBox ("client inintéressant")
Nbhcpta = InputBox("Quel est le nombre d'heures réalisés en comptabilité?")
Nbhconseil = InputBox("Quel est le nombre d'heures réalisés en conseil?")
Wend
Select Case NetHT
Case Is > 10000: NetHT = NetHT * 90
MsgBox ("une réduction de 10% est accordée")
Case Is > 8000: NetHT = NetHT * 95
MsgBox ("une réduction de 5% est accordée")
Case Is > 7000: NetHT = NetHT * 0.99
MsgBox ("une réduction de 1% est accordée")
Case Else
MsgBox ("pas de réduction")
End Select
Rglmt = InputBox("Quel est le mode de réglement(comptant ou crédit)?")
If Rglmt = "comptant" Then
Mtescpte = NetHT * TxEscpte
Else
If Rglmt = "crédit" Then
Mtescpte = 0
End If
End If
Nbfact = InputBox("combien de facture seront saisies?")
For I = 1 To Nbfact
NetTTC = (NetHT - Mtescpte) * (1 + TxTVA)
somme = somme + NetTTC
Next
MsgBox ("la somme des factures est égale à :" & somme)
MsgBox ("Le montant TTC pour ce client est de : " & NetTTC)
End Sub
cordialement,
Salut Lorzo,
première chose, pour insérer un code, utilise cette commande du ruban de la fenêtre d'édition de ton message.

Et avant d'insérer ton code, please, apprends à l'indenter et le grouper, histoire qu'il soit lisible immédiatement si tu veux des réponses !
Private Sub Calcul_Click()
'
Dim Nbhcpta As Integer
Dim Nbhconseil As Integer
Dim NetHT As Single
Dim NetTTC As Single
Dim Rglmt As String
Dim Mtescpte As Single
Dim I As Integer
Dim somme As Integer
Dim Nbfact As Integer
Const Txcpta = 60
Const Txconseil = 80
Const TxTVA = 0.2
Const TxEscpte = 0.03
'
Nbhcpta = InputBox("Quel est le nombre d'heures réalisés en comptabilité?")
Nbhconseil = InputBox("Quel est le nombre d'heures réalisés en conseil?")
NetHT = (Txcpta * Nbhcpta) + (Txconseil * Nbhconseil)
'
While NetHT < 1000
MsgBox ("client inintéressant")
Nbhcpta = InputBox("Quel est le nombre d'heures réalisés en comptabilité?")
Nbhconseil = InputBox("Quel est le nombre d'heures réalisés en conseil?")
Wend
'
Select Case NetHT
Case Is > 10000: NetHT = NetHT * 90
MsgBox ("une réduction de 10% est accordée")
Case Is > 8000: NetHT = NetHT * 95
MsgBox ("une réduction de 5% est accordée")
Case Is > 7000: NetHT = NetHT * 0.99
MsgBox ("une réduction de 1% est accordée")
Case Else
MsgBox ("pas de réduction")
End Select
'
Rglmt = InputBox("Quel est le mode de réglement(comptant ou crédit)?")
'
If Rglmt = "comptant" Then
Mtescpte = NetHT * TxEscpte
Else
If Rglmt = "crédit" Then
Mtescpte = 0
End If
End If
Nbfact = InputBox("combien de facture seront saisies?")
For I = 1 To Nbfact
NetTTC = (NetHT - Mtescpte) * (1 + TxTVA)
somme = somme + NetTTC
Next
'
MsgBox ("la somme des factures est égale à :" & somme)
MsgBox ("Le montant TTC pour ce client est de : " & NetTTC)
'
End Sub
Dans ton cas, si la variable NetHT est inférieure à 1000 à l'entrée de la boucle WHILE, tu es parti pour "quelques" cafés avant d'en voir le bout !!
While NetHT < 1000
MsgBox ("client inintéressant")
Nbhcpta = InputBox("Quel est le nombre d'heures réalisés en comptabilité?")
Nbhconseil = InputBox("Quel est le nombre d'heures réalisés en conseil?")
NetHT = (Txcpta * Nbhcpta) + (Txconseil * Nbhconseil)
Wend
... serait déjà plus judicieux puisqu'il y a une chance d'en sortir un jour!
Peux-tu nous en dire plus sur les tenants et aboutissants de cette boucle While ?
Avec un fichier, par exemple...
A+
bonjour à tous
curulis 57 merci pour votre réponse
j'ai compris pour la fonction du while si le net ht est inferieur à 1000 le client est ininteressant est excel me renvoie sur le calcul du net ht ,est me calcul le ttc si le net ht est supperieur à 1000
néanmois je comprend pas la fonction do until loop est pour la comprendre j'aimerais la placé (la fonction) dans mon algorithme mais je ne sais pas ou la placé et comment ducoup je galére ....
voici mon algorithme ci joint
merci pour avoir essayé de m'aider
Salut Lorzo,
Do Until NetHT >= 1000
Nbhcpta = InputBox("Quel est le nombre d'heures réalisés en comptabilité?")
Nbhconseil = InputBox("Quel est le nombre d'heures réalisés en conseil?")
NetHT = (Txcpta * Nbhcpta) + (Txconseil * Nbhconseil)
If NetHT < 1000 Then MsgBox ("client inintéressant")
Loop
Mais, je ne comprends pas l'intérêt de cette boucle si le calcul ne sert qu'à évaluer la qualité d'un client...
Comme je comprends cette boucle, tu cherches à tout prix (sinon, tu ne sors pas de la boucle) les variables minimum pour obtenir 1000.
A+
RE,
Merci curulis57 pour votre réponse
j'ai placé le do until loop (répéter jusqu'a) est il n'y a pas de grande différence avec le while wend
si j'ai bien compris le wile wend = si le net ht est inferieur à 1000 le client est ininteressant et l'algorithme me calcul pas le ttc est pour le cas inverse (net ht supperieur à 100 excel me calcul le ttc)
pour le do until loop c'est la meme chose ....