Programmation nombres décimaux en VBA
pissouman123
Messages postés
10
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour,
J'ai du crée un programme VBA mais vraiment quelque chose de tout simple. En faite ,j'introduis un nombre de 0 à 20 et ca verifie si la note est comprise ou non entre ces 2 valeurs . Mais cela ne marche que avec les entiers , c'est à dire que si je met par exemple 13.333 , il me met que ce n'est pas compris entre 0 et 20 alor sque oui!
J'ai cherché mais je ne trouve pas comment ecrire correctement le code pour que cela marche. Mon code pour le moment est le suivant:
Private Sub Bouton_test_Click()
Dim Note As Single
Note = CSng(Zonenote.Text)
If Note >= 0 And Note <= 20 Then
Resultat.Caption = "Note correcte"
Else
Resultat.Caption = "Note incorrecte"
End If
End Sub
Normalement faut pas ajouter grand chose pour les décimals mais je galère vraiment ..
En espèrant que quelqu'un puisse m'aider , merci.
J'ai du crée un programme VBA mais vraiment quelque chose de tout simple. En faite ,j'introduis un nombre de 0 à 20 et ca verifie si la note est comprise ou non entre ces 2 valeurs . Mais cela ne marche que avec les entiers , c'est à dire que si je met par exemple 13.333 , il me met que ce n'est pas compris entre 0 et 20 alor sque oui!
J'ai cherché mais je ne trouve pas comment ecrire correctement le code pour que cela marche. Mon code pour le moment est le suivant:
Private Sub Bouton_test_Click()
Dim Note As Single
Note = CSng(Zonenote.Text)
If Note >= 0 And Note <= 20 Then
Resultat.Caption = "Note correcte"
Else
Resultat.Caption = "Note incorrecte"
End If
End Sub
Normalement faut pas ajouter grand chose pour les décimals mais je galère vraiment ..
En espèrant que quelqu'un puisse m'aider , merci.
A voir également:
- Programmation nombres décimaux en VBA
- Application de programmation - Guide
- Code binaire des nombres - Guide
- Excel compter cellule couleur sans vba - Guide
- Nombres faciles - Télécharger - Outils professionnels
- Mettre en veille un programme - Guide
3 réponses
Bonsoir,
As-tu contrôlé que le séparateur décimal dans les paramètres régionaux soit bien sur . et non sur ,
Sinon essaie en saisissant 13,3 et si ça ne suffit pas met un point d'arret après note= pour contrôler sa valeur après la conversion
eric
As-tu contrôlé que le séparateur décimal dans les paramètres régionaux soit bien sur . et non sur ,
Sinon essaie en saisissant 13,3 et si ça ne suffit pas met un point d'arret après note= pour contrôler sa valeur après la conversion
eric
Oui mais je ne sais toujours pas ce que je dois changer dans LE CODE.
En faite , j'aimerai que si le nombre est un nombre décimal , alors il apparaissent " Ce nombre n'est pas un naturel "
Je sais pas si tu vois ce que je veux dire..
Merci d'avance
En faite , j'aimerai que si le nombre est un nombre décimal , alors il apparaissent " Ce nombre n'est pas un naturel "
Je sais pas si tu vois ce que je veux dire..
Merci d'avance
En faite , je voudrais que si par exemple je met 13.7 , il apparaisse " Ce nombre n'est pas un naturel " ..
Mais je ne sais pas quoi changer dans mon code , a mon avis je dois programmer pour que quand je rentre un nombre décimal , il apparaisse " ce nombre n'est pas un naturel" . Mais je ne sais vraiment pas comment faire :s
Mais je ne sais pas quoi changer dans mon code , a mon avis je dois programmer pour que quand je rentre un nombre décimal , il apparaisse " ce nombre n'est pas un naturel" . Mais je ne sais vraiment pas comment faire :s
Bonjour,
Lors de la saisie, vous tapez votre note avec comme séparateur décimal le point ".". Votre code fonctionne avec la virgule.
Pour pouvoir saisir soit un point, soit une virgule, vous pouvez écrire :
La fonction Replace va remplacer les "." par des ","...
EDIT : suite à un bug, je viens de voir la suite de la discussion... Pardon pour l'incruste en Hors sujet en plus...
Bonne journée à vous
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Lors de la saisie, vous tapez votre note avec comme séparateur décimal le point ".". Votre code fonctionne avec la virgule.
Pour pouvoir saisir soit un point, soit une virgule, vous pouvez écrire :
Dim Note As Single Note = CSng(Replace(Zonenote.Text, ".", ",")) If Note >= 0 And Note <= 20 Then Resultat.Caption = "Note correcte" Else Resultat.Caption = "Note incorrecte" End If
La fonction Replace va remplacer les "." par des ","...
EDIT : suite à un bug, je viens de voir la suite de la discussion... Pardon pour l'incruste en Hors sujet en plus...
Bonne journée à vous
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --