Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Pb format remplacement point ou virgule par virgule VBA

medlight

XLDnaute Junior
Bonjour à tous quelqu'un peut m'aider pour résoudre le pb suivant, le problème c'est quand je met point ou virgule pour les valeur décimal dans un Textbox , la cellule de Feuil1 doit l'accepte comme valeur décimal et merci d'avance
 

Pièces jointes

  • test.xlsm
    13 KB · Affichages: 5
Solution
Bonjour

un essai ici
VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1")
 .[F6] = Replace(TextBox1.Value, ",", ".")
 .[F7] = Replace(TextBox2.Value, ",", ".")
 .[F8] = Replace(TextBox3.Value, ",", ".")

End With
End Sub

vgendron

XLDnaute Barbatruc
Bonjour

un essai ici
VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1")
 .[F6] = Replace(TextBox1.Value, ",", ".")
 .[F7] = Replace(TextBox2.Value, ",", ".")
 .[F8] = Replace(TextBox3.Value, ",", ".")

End With
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Ou encore :
VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1")
    .[F6] = Val(TextBox1.Value)
    .[F7] = Val(TextBox2.Value)
    .[F8] = Val(TextBox3.Value)
End With
End Sub
Val Renvoie les nombres contenus dans une chaîne en tant que valeur numérique de type approprié.
 

patricktoulon

XLDnaute Barbatruc
re
bonjour à tous
toujours déterminer le numérique de la valeur
VBA travaille avec le point comme séparateur (quelque soit la version de excel)
et donc val ne prendra que le point sinon il te donne le "INT"
ci dessous on est tranquille
VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1")
    .[F6] = Val(Replace(TextBox1, ",", "."))
    .[F7] = Val(Replace(TextBox2, ",", "."))
    .[F8] = Val(Replace(TextBox3, ",", "."))
End With
End Sub
 
Bonjour medlight, vgendron, sylvanu, patrick, le forum

ou utiliser cette petite fonction personnalisée qui fait la même chose, publiée par TI_ en 2005 sur ce forum.


VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1")
    .[F6] = Valeur(TextBox1.Value)
    .[F7] = Valeur(TextBox2.Value)
    .[F8] = Valeur(TextBox3.Value)
End With
End Sub

Cordialement, @+
 
Re

pour illustrer la différence entre sans Val et avec Val, et comprendre pourquoi son absence peut amener des problèmes selon l'utilisation du résultat.

Cordialement, @+

VB:
Sub Test_Type_Valeur()
MsgBox "sans Val " & Replace("36,98", ",", ".") & " donnée de type " & TypeName(Replace("36,98", ",", "."))
MsgBox "avec Val " & Replace("36,98", ",", ".") & " donnée de type " & TypeName(Val(Replace("36,98", ",", ".")))
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…