Format textbox nombre
Bonjour à tous,
Dans mon formulaire, j’ai du texte, des dates et des nombres. Pour les nombres j’ai testé :
ActiveCell.Offset(0, 6).Value = txtd1 = Format(Val(Replace(txtd1.Value, ",", ".")), "#,##0.00") 'nombre
ActiveCell.Offset(0, 6).Value = txtd1 = Format(Value, "#,##0.00")
Résultat = FAUX
Autre problème, lorsque les cases du formulaire ne sont pas complétées, l’enregistrement dans l’onglet Excel ne montre rien dans la cellule correspondante, mais impossible par exemple de faire des additions – résultat : #valeur
Merci pour votre aide
Cordialement,
Bonjour,
Merci de bien vouloir être plus explicite et de respecter la mise en forme dans vos demandes SVP
"Dans mon formulaire" -> il y en a 2, donc lequel ?
Le code est à mettre entre balises (dernière fois que je fais la remarque, après c'est suppr.)
ActiveCell.Offset(0, 6).Value = txtd1 = Format(Val(Replace(txtd1.Value, ",", ".")), "#,##0.00") 'nombreMerci d'éditer votre post et faire ce qu'il faut SVP
A+
Bonjour,
les problèmes rencontrés sont identique dans les deux formulaires
comme déjà indiqué, je ne suis pas un expert en VBA et donc je ne comprend pas "Le code est à mettre entre balises"
j'ai consulté plusieurs discussions sur se forum et regarder des vidéos, mais je n'ais pas trouver de solution a mon problème.
Cordialement,
Re,
Ce n'est pas un problème VBA,
avec 176 messages à votre actif, vous devriez commencer à savoir quand même
Tout est indiqué dans la charte que je vous invite à lire/relire [A LIRE AVANT DE POSTER]
elle vous aidera dans vos demandes et réponses sur ce forum.
Pour mettre le code donné entre balises, il faut cliquer sur ce bouton
que vous avez en haut de tout nouveau message ou message édité
Ce qui ouvre une fenêtre, dans laquelle on colle le code et on clique sur "Insérer"
Compliqué
bonjour,
j'ai lu la charte et je serai plus attentif a l'avenir.
pourquoi dites vous que ce n'est pas un problème de VBA?
merci,
Bonjour,
j'ai vue des tutos, regardé des conversations sur le groupe, mais je ne trouve pas la bonne VBA pour modifier mes textbox texte en valeur numérique
merci,
Private Sub btnfer_Click()
Unload Me
End Sub
Private Sub btnssdata1_Click()
Sheets("Dat").Activate
Range("A1").Select
End Sub
Private Sub btnsEffacer_Click()
txtdata = ""
txtpo = ""
cbot1 = ""
cbot2 = ""
cbot3 = ""
cbot4 = ""
cbot5 = ""
cbot6 = ""
txtd1 = ""
txtd2 = ""
txtd3 = ""
txtd4 = ""
txtd5 = ""
txth1 = ""
txth2 = ""
txth3 = ""
txth4 = ""
txth5 = ""
txtto1 = ""
txtto2 = ""
txtto3 = ""
txtto4 = ""
txtto5 = ""
txtdo1 = ""
txtdo2 = ""
txtdo3 = ""
txtdo4 = ""
txtdo5 = ""
End Sub
Private Sub Image1_BeforeDragOver(ByVal cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
End Sub
Private Sub txt1_Change()
End Sub
Private Sub cbot1_Change()
End Sub
Private Sub txtd1_Change()
End Sub
Private Sub txtd2_Change()
End Sub
Private Sub txtdata_change()
If txtdata <> "" Then
btns.Enabled = True
Else
btns.Enabled = False
End If
End Sub
Private Sub txtd1_keypress(ByVal keyascii As MSForms.ReturnInteger)
Select Case keyascii
Case 44, 46: keyascii = Asc(Format(0, "."))
End Select
End Sub
Private Sub txtd2_keypress(ByVal keyascii As MSForms.ReturnInteger)
Select Case keyascii
Case 44, 46: keyascii = Asc(Format(0, "."))
End Select
End Sub
Private Sub txtd3_keypress(ByVal keyascii As MSForms.ReturnInteger)
Select Case keyascii
Case 44, 46: keyascii = Asc(Format(0, "."))
End Select
End Sub
Private Sub txtd4_keypress(ByVal keyascii As MSForms.ReturnInteger)
Select Case keyascii
Case 44, 46: keyascii = Asc(Format(0, "."))
End Select
End Sub
Private Sub txtd5_keypress(ByVal keyascii As MSForms.ReturnInteger)
Select Case keyascii
Case 44, 46: keyascii = Asc(Format(0, "."))
End Select
End Sub
Private Sub txtd6_keypress(ByVal keyascii As MSForms.ReturnInteger)
Select Case keyascii
Case 44, 46: keyascii = Asc(Format(0, "."))
End Select
End Sub
Private Sub btns_Click()
Sheets("DAT").Activate
Range("A1").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
ActiveCell.Offset = txtdata.Value 'date
ActiveCell.Offset(0, 1).Value = txtpo 'texte
ActiveCell.Offset(0, 5).Value = cbot1 'texte
ActiveCell.Offset(0, 6).Value = txtd1 'nombre
ActiveCell.Offset(0, 7).Value = cbot2 'texte
ActiveCell.Offset(0, 8).Value = txtd2 'nombre
ActiveCell.Offset(0, 9).Value = cbot3 'texte
ActiveCell.Offset(0, 10).Value = txtd3 'nombre
ActiveCell.Offset(0, 11).Value = cbot4 'texte
ActiveCell.Offset(0, 12).Value = txtd4 'nombre
ActiveCell.Offset(0, 13).Value = cbot5 'texte
ActiveCell.Offset(0, 14).Value = txtd5 'nombre
ActiveCell.Offset(0, 15).Value = cbot6 'texte
ActiveCell.Offset(0, 16).Value = txtd6 'nombre
ActiveCell.Offset(0, 207).Value = txth1 'texte
ActiveCell.Offset(0, 208).Value = txtto1 'nombre
ActiveCell.Offset(0, 209).Value = txtdo1 'nombre
ActiveCell.Offset(0, 211).Value = txth2 'texte
ActiveCell.Offset(0, 212).Value = txtto2 'nombre
ActiveCell.Offset(0, 213).Value = txtdo2 'nombre
ActiveCell.Offset(0, 215).Value = txth3 'texte
ActiveCell.Offset(0, 216).Value = txtto3 'nombre
ActiveCell.Offset(0, 217).Value = txtdo3 'nombre
ActiveCell.Offset(0, 219).Value = txth4 'texte
ActiveCell.Offset(0, 220).Value = txtto4 'nombre
ActiveCell.Offset(0, 221).Value = txtdo4 'nombre
ActiveCell.Offset(0, 223).Value = txth5 'texte
ActiveCell.Offset(0, 224).Value = txtto5 'nombre
ActiveCell.Offset(0, 225).Value = txtdo5 'nombre
MsgBox "ÎNREGISTRARE GATA", vbOKOnly + vbInformation, "REALIAZARE"
End Sub Bonjour, J'ai réussi a trouver une macro pour transformer un textbox texte en numérique. mais, j'ai toujours un problème, je suis obligé de compléter les cases vides du formulaire avec 0 sinon je ne peut pas obtenir de calcul dans mes onglets , existe il une macro pour que les cases vide du formulaire soit égale a 0 si elle ne sont pas complétées, une vidéo ou vous parler de se problème?
avez vous une idée pour ressourdre mon problème?
merci pour aide,
Bonjour à tous,
si je comprend bien Excel est capable de créer des formulaires VBA qui fonctionnent a condition que tous les champs du formulaire soient complétés y compris les champs vides, dans le cas ou le formulaire contient des champs non complétés, cela ne fonctionne pas!
ou alors, malgré le visionnage de x tutos et de discussions sur le forum, je ne comprend rien! possible, car je suis débutant en VBA.
donc si je comprend bien, je vais devoir remplir mes formulaires en mettant 0 dans chaque champ, soit compléter plus de 50 fois 0, a chaque fois que je compléte mes formulaires.
si vous avez une solution, merci de me la donner.
Cordialement,
Bonjour Christopherom
Un TextBox est comme son nom l'indique un contrôle qui contient du texte
Donc lorsque l'on veut transcrire ce qu'il contient dans une cellule, il faut en tenir compte
' Inscrire un nombre entier
Range("A1").Value = CInt(Me.TextBox1)
' Inscrire un nombre avec décimal
Range("A1").Value = CDbl(Me.TextBox1)
' ou
Range("A1").Value = Me.TextBox1 * 1
' Inscrire un nombre formaté
Range("A1").Value = Format(CSng(Me.TextBox1), "#,##.#0")
' Etc...Bien entendu, pour ne pas avoir de bug, il faut tester le contenu du TextBox pour savoir s'il est conforme à ce qu'on attend
' Exemple pour un nombre
If Not IsNumeric(Me.TextBox) Then
MsgBox "Vous devez saisir un nombre"
End IfEt même chose si l'on veut faire l'inverses, inscrire dans un TestBox ce que contient une cellule
' Inscrire une date
Me.TextBox1 = Format(Range("A1").Value, "dd/mm/yyyy")
' Inscrire un nombre formaté
Me.TextBox1 = Format(Range("A1").Value, "dd/mm/yyyy")
' EtcBref, le VBA ne s'invente pas
Si vous voulez plus d'aide, pensez peut-être à voir avec la fameuse IA
A+
Bonjour BrunoM45,
merci pour votre aide et vos conseils.
Cordialement,