[VBA] : Nombres provenant de textBox dynamiques
Résolu/Fermé
anton26
Messages postés
31
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
25 janvier 2016
-
28 janv. 2013 à 23:30
anton26 Messages postés 31 Date d'inscription samedi 22 décembre 2012 Statut Membre Dernière intervention 25 janvier 2016 - 29 janv. 2013 à 22:47
anton26 Messages postés 31 Date d'inscription samedi 22 décembre 2012 Statut Membre Dernière intervention 25 janvier 2016 - 29 janv. 2013 à 22:47
A voir également:
- [VBA] : Nombres provenant de textBox dynamiques
- Incompatibilité de type vba ✓ - Forum Programmation
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba dernière colonne non vide ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
29 janv. 2013 à 09:31
29 janv. 2013 à 09:31
Bonjour Messieurs,
Mr Lermitte222,
Excusez l'incruste...
Si tu utilises ce code pour transférer les textbox dans ta feuille :
il "suffit" de :
1- tester si la saisie dans le contrôle est bien numérique
2- si oui, transformer le contenu du textbox (bien qu'étant composé de nombres, un textbox est toujours "string") en Double si décimale (je penses que s'agissant de notes, on aura des ,5 ou des moyennes à un moment donné. Non?)
Restera, après, le problème d'erreur de saisie de l'utilisateur (point au lieu de virgule et/ou l'inverse...)
En effet, le séparateur décimal peux, selon s'il est utilisé ou non, faire que votre note saisie dans le textbox soit ou non considérée comme décimale.
Le cas échéant on peux utiliser Replace, comme ceci :
Mr Lermitte222,
Excusez l'incruste...
Si tu utilises ce code pour transférer les textbox dans ta feuille :
Worksheets("trimestre 1").Cells(CtrlIndex + 9, 1).Value = Ctrl.Text
il "suffit" de :
1- tester si la saisie dans le contrôle est bien numérique
2- si oui, transformer le contenu du textbox (bien qu'étant composé de nombres, un textbox est toujours "string") en Double si décimale (je penses que s'agissant de notes, on aura des ,5 ou des moyennes à un moment donné. Non?)
'Test si numérique : If IsNumeric(Ctrl.Text) Then Worksheets("trimestre 1").Cells(CtrlIndex + 9, 1).Value = CDbl(Ctrl.Text) Else MsgBox "pas numérique" End If
Restera, après, le problème d'erreur de saisie de l'utilisateur (point au lieu de virgule et/ou l'inverse...)
En effet, le séparateur décimal peux, selon s'il est utilisé ou non, faire que votre note saisie dans le textbox soit ou non considérée comme décimale.
Le cas échéant on peux utiliser Replace, comme ceci :
'remplace le point par une virgule : Ctrl.Text = Replace(Ctrl.Text, ".", ",")
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
29 janv. 2013 à 05:24
29 janv. 2013 à 05:24
Re,
Dans ta question précédante sur les TextBox créer en dynamique tu parlais du nom des élèves.
C'est toujours la même chose mais avec des nombres ? entier ou décimale ?
Dans ta question précédante sur les TextBox créer en dynamique tu parlais du nom des élèves.
C'est toujours la même chose mais avec des nombres ? entier ou décimale ?
anton26
Messages postés
31
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
25 janvier 2016
29 janv. 2013 à 07:40
29 janv. 2013 à 07:40
Re,
Oui c'est le même principe mais avec des nombres .
Oui c'est le même principe mais avec des nombres .
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
29 janv. 2013 à 10:08
29 janv. 2013 à 10:08
Re,
@ Heliotte bonjour, Ton principe est le bon
@anton26 Version2 qui prend les deux Texte et nombre
A+
@ Heliotte bonjour, Ton principe est le bon
@anton26 Version2 qui prend les deux Texte et nombre
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
anton26
Messages postés
31
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
25 janvier 2016
29 janv. 2013 à 22:47
29 janv. 2013 à 22:47
Merci à vous deux. C'est impeccable.