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 -
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 ! =)
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:
- Problème avec Select case sous VB
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Aller à la ligne dans une case excel - Guide
- Excel case choix multiple - Guide
- Case à cocher open office - Forum LibreOffice / OpenOffice
1 réponse
bonjour
je crois que je l'écrirais comme ça
bonne suite
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
Mister Canard
Messages postés
512
Date d'inscription
Statut
Membre
Dernière intervention
1
Merci pour ton aide, ça fonctionne impec' =)