Autres Chiffres en Texte les passer en numérique

marcelio

XLDnaute Occasionnel
Bonjour le Forum,
A l'aide d'un USF j'utilise le code suivant pour ajouter un nouveau nom à ma feuille liste.
La TextBox1 ce sont des chiffres, il arrive sur ma feuille liste au format Texte.
J'ai chercher mais pas trouver pour qu'il soit en numérique.
Que faut il que je rajoute pour le transformer.
Merci de votre aide et bonne journée au Forum.
Marcelio

Private Sub CommandButton1_Click()
trouvecolonne (ComboBox1.Value)
col = trouvecolonne(ComboBox1.Value)
DLig = Sheets("liste").Cells(65536, col).End(xlUp).Row + 1
Sheets("liste").Cells(DLig, col) = TextBox1
Sheets("liste").Cells(DLig, col + 1) = TextBox2
Sheets("liste").Cells(DLig, col + 2) = TextBox3
End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour.
= CDbl(TextBox1.Text)
Attention: plante si TextBox1.Text n'est pas convertible en nombre
faire If IsNumeric(TextBox1.Text) Then
 

job75

XLDnaute Barbatruc
Bonjour marcelio, Bernard,

Ceci est très classique et fonctionne quel que soit le séparateur décimal utilisé :
VB:
= Val(Replace(TextBox1, ",", "."))
A+
 

Dranreb

XLDnaute Barbatruc
On peut aussi utiliser une fonction pour n'avoir pas à répéter le code partout
VB:
Function ValTBx(TBx As MSForms.TextBox)
   Dim Z As String: Z = Replace$(TBx.Text, ".", ",")
   If Z = "" Then
      ValTBx = Empty
   ElseIf IsDate(Z) Then
      ValTBx = CDate(Z)
   ElseIf IsNumeric(Z) Then
      If Z Like "*€" Then ValTBx = CCur(Z) Else ValTBx = CDbl(Z)
   Else
      ValTBx = Trim$(TBx.Text)
      End If
   End Function
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas