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") 'nombre

Merci 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

image

que vous avez en haut de tout nouveau message ou message édité

image

Ce qui ouvre une fenêtre, dans laquelle on colle le code et on clique sur "Insérer"

image

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 If

Et 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")
' Etc

Bref, 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,

Rechercher des sujets similaires à "format textbox nombre"