Nombre avec virgule TextBox ne me le recupere pas

Résolu
gael444 -  
 gael444 -
Bonjour,
.
J'ai un soucis j'ai créé mon formulaire vba avec toute mes saisis
mais quand je rentre un chiffre avec une virgule dans mon formulaire dans la case volume fournisseur
il me met juste le chiffre avant la virgule dans mon tableau alors qu je le voudrais entier
pouvez vous m'aider
Voici mon code
.

Private Sub CommandButton1_Click()
If ComboBox1.ListIndex = -1 Then Exit Sub
With Sheets(CStr(ComboBox1))
    dl = .Range("A65000").End(xlUp).Row + 1
    .Cells(dl, 1) = ComboBox2
    .Cells(dl, 2) = ComboBox3
    If IsNumeric(TextBox1) = True Then .Cells(dl, 3) = Val(TextBox1)
    If IsNumeric(TextBox2) = True Then .Cells(dl, 4) = Val(TextBox2)
    If IsNumeric(TextBox3) = True Then .Cells(dl, 5) = Val(TextBox3)
    If IsNumeric(TextBox4) = True Then .Cells(dl, 6) = Val(TextBox4)
    .Cells(dl, 7) = TextBox5
    If IsNumeric(TextBox6) = True Then .Cells(dl, 8) = Val(TextBox6)
    .Cells(dl, 9) = TextBox11
    .Cells(dl, 11) = ComboBox4
    If IsNumeric(TextBox12) = True Then .Cells(dl, 13) = Val(TextBox12)
End With
Efface
End Sub

.
Et voici mon fichier https://www.cjoint.com/c/FIeqlvflMM1


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    A la place de la ',' (virgule) as-tu essayé le séparateur '.' (point) ?
    0
    1. gael444
       
      quand je met le nombre avec un point dans la case il ne me met rien du tout dans mon tableau
      le virgule a resolu une parti de mon probleme au depart mais apres je me suis apercu que il me met que le nombre avant la virgule
      0
    2. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      A la place de Val, essaye d'utiliser CDbl.
      Place un point d'arrêt et regarde les différentes valeurs avec un espion (Shift+F9)
      0
    3. gael444
       
      Merci pour l'idée mais ca ne fonctionne pas non plus
      0
    4. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
      As-tu contrôler la valeur des variables ?
      As-tu réglé ta cellule pour afficher les virgules ?
      0
    5. gael444
       
      comment ca controler la valeur des variables ?
      et non ma cellule accepte toute valeur avec virgule ou sans
      0
  2. Stif
     
    Bonjour,

    Avez vous essayé quelque chose de ce genre ? :

    If IsNumeric(TextBox6) = True Then
    .Cells(dl, 8) = TextBox6.Value & " m³"
    Else:
    If IsNumeric(Val(TextBox6.Value)) = True And InStr(TextBox6.Value, ",") <> 0 Then .Cells(dl, 8) = CDbl(TextBox6.Value) & " m³"
    If IsNumeric(TextBox6.Value) = False Then MsgBox "Valeur non numérique"

    End If

    Edit : Pour régler le problème du "." du pavé numérique on peut rajouter cette ligne avant le code ci-dessus :
    TextBox6.Value = Replace(TextBox6.Value, ".", ",")
    0
    1. gael444
       
      Merci beaucoup mais la méthode precedente fonctionne finalement la votre aussi d'ailleur
      merci pour le "." surtout
      0