Microsoft 365 question algorithme sur excel

rzo

XLDnaute Nouveau
Bonsoir
peut-on posé une question sur ce forum concernant une formule d' algorithme sur excel ?
merci pour votre futur réponse
cordialement,
 

rzo

XLDnaute Nouveau
Bonsoir,
merci pour votre réponse
j'ai un algorithme concernant la facturation dans un cabinet (voir ci-joint)
cet algorithme me permet de comprendre les structures (pour fin pour, si alors sinon, etc...).

il me manque un exemple pour comprendre la structure (répéter jusqu'à) c'est à dire DO action Loop Until condition.

pourrait ton me mettre cet structure (répéter jusqu'à) dans mon algorithme afin que je comprenne à quoi ca sert ? ou sa se met etc...

merci pour votre aide
 

Pièces jointes

  • factttc-test (6).xlsm
    15.1 KB · Affichages: 7

Staple1600

XLDnaute Barbatruc
Re


Donc voici ton algo lié au bouton sur l'Userform
VB:
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
Quelles lignes de code tu ne comprends pas?
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Si tu veux des exemples Do/Loop
VB:
Sub ChkFirstWhile()
    counter = 0
    myNum = 20
    Do While myNum > 10
        myNum = myNum - 1
        counter = counter + 1
    Loop
    MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastWhile()
    counter = 0
    myNum = 9
    Do
        myNum = myNum - 1
        counter = counter + 1
    Loop While myNum > 10
    MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkFirstUntil()
    counter = 0
    myNum = 20
    Do Until myNum = 10
        myNum = myNum - 1
        counter = counter + 1
    Loop
    MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ChkLastUntil()
    counter = 0
    myNum = 1
    Do
        myNum = myNum + 1
        counter = counter + 1
    Loop Until myNum = 10
    MsgBox "The loop made " & counter & " repetitions."
End Sub
Sub ExitExample()
    counter = 0
    myNum = 9
    Do Until myNum = 10
        myNum = myNum - 1
        counter = counter + 1
        If myNum < 10 Then Exit Do
    Loop
    MsgBox "The loop made " & counter & " repetitions."
End Sub
source
 

rzo

XLDnaute Nouveau
re, bonsoir,
merci pour vos exemple de do loop
dans mon algorithme je comprends tout, sauf comment introduire le do loop dans mon algorithme.
Merci pour vos exemples je vais regardé sa de plus prés
merci
crdlt,
 

rzo

XLDnaute Nouveau
Bonsoir, je reviens vers vous car
on ma dit de mettre cela pour bien utiliser le répéter jusqu'à:

Sub test

Do Until a = 3

a = a + 1

Loop

End sub
et on m'a dit que sa se mettait à la fin, mais ou dois-je le mettre dans mon algorithme ? (précisement)
merci pour votre futur réponse et excusez moi du dérangement
 

Discussions similaires

Réponses
6
Affichages
476
Réponses
1
Affichages
134

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali