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.

image

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 ....

Rechercher des sujets similaires à "comment introduire repeter mon algorithme"