Problème avec Select case sous VB

Résolu
Mister Canard Messages postés 512 Date d'inscription   Statut Membre Dernière intervention   -  
Mister Canard Messages postés 512 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai écrit un programme sous VBA qui est censé calculer un pourcentage de ristourne selon le montant des achats. Le problème est que je rentre une valeur positive, et il me calcule systématiquement que le net financier est égal a zéro.
J'utilise la fonction Do pour faire une boucle et relancer le programme automatiquement et la fonction If pour exclure tout chiffre négatf.
Voici le code source :
Option Explicit
Private Sub CommandButton1_Click()
Dim netfin As Currency
Dim netcom As Currency
Do
netfin = InputBox("Saisir le net financier, cliquer sur Annuler pour quitter", "Entrée du net financier", 0)
If netfin <= 0 Then
MsgBox ("Veuillez resaisir, valeur incorrecte !")
Else
Select Case netfin
Case netfin <= 1500
netcom = netfin * 97 / 100
Case netfin <= 3000
netcom = netfin * 95 / 100
End Select
End If
MsgBox ("Net commercial : " & netcom & " €.")
Loop
End Sub
J'ai planché sur le problème tout l'après midi, et de ne trouve pas de solution :(
Merci d'avance a tous ceux qui pourront m'aider a résoudre ce problème ! =)


A voir également:

1 réponse

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

je crois que je l'écrirais comme ça

Option Explicit

Private Sub CommandButton1_Click()
Dim netfin As Single
Dim netcom As Single
Do
  netfin = Val(InputBox("Saisir le net financier, cliquer sur Annuler pour quitter", "Entrée du net financier", 0))
  While netfin < 0
    netfin = Val(InputBox("Donnée incorrecte, saisir le net financier, cliquer sur Annuler pour quitter", "Entrée du net financier", 0))
  Wend
  If netfin > 0 Then
    Select Case netfin
      Case 0 To 1500
        netcom = netfin * 97 / 100
      Case 1500 To 3000
        netcom = netfin * 95 / 100
    End Select
    MsgBox ("Net commercial : " & netcom & " €.")
  End If
Loop Until netfin = 0
End Sub

bonne suite
0
Mister Canard Messages postés 512 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci pour ton aide, ça fonctionne impec' =)
0