Formatage de type : texte d'une textbox en double

rudymagny

XLDnaute Occasionnel
Bonsoir le forum,
Je rencontre un problème de type :
Code:
Private Sub ComboBox3_Change()
Dim valeur_max, Tol_TM As Double

    Frame3.Visible = True
    TextBox3.Value = ""
    Label6.Caption = ""
    
    Set f = Sheets("Feuil1")
    'Affichage de la valeur max et tolérance
    For Each c In Range(f.[C2], f.[C65536].End(xlUp))
        'Si même nom de site
        If c = Me.ComboBox1 And c.Offset(, 3) = Me.ComboBox2 And c.Offset(, -2) = "TM" And c.Offset(, 10) = Me.ComboBox3 Then
            TextBox3.Value = c.Offset(, 58)
            valeur_max = c.Offset(, 58)
            Label6.Caption = c.Offset(, 54)
        End If
    Next c
    If Me.ComboBox3.Value Like "*P*" Or Me.ComboBox3.Value Like "*P*" Then
        'Me.TextBox4.Value = "P_" & Me.TextBox3.Value
        Tol_TM = CDbl(valeur_max * 0.024)
    Else
    'If Me.ComboBox3.Value Like "*U*" Then
        Tol_TM = CDbl(valeur_max * 0.016)
    End If
    Me.TextBox4.Value = Tol_TM
End Sub

j'essaye d'utiliser la fonction cdbl pour formater un texte :
Code:
Tol_TM = CDbl(valeur_max * 0.024)

Que dois je faire?

merci d'avance
 

gilbert_RGI

XLDnaute Barbatruc
Re : Formatage de type : texte d'une textbox en double

j'ai repondu dans l'autre fil mais voilà le code modifié

Code:
Private Sub ComboBox3_Change()
Dim valeur_max, Tol_TM
    Frame3.Visible = True
    TextBox3.Value = ""
    Label6.Caption = ""
    Set f = Sheets("Feuil1")
    'Affichage de la valeur max et tolérance
    For Each c In Range(f.[C2], f.[C65536].End(xlUp))
        'Si même nom de site
        If c = Me.ComboBox1 And c.Offset(, 3) = Me.ComboBox2 And c.Offset(, -2) = "TM" And c.Offset(, 10) = Me.ComboBox3 Then
            TextBox3.Value = c.Offset(, 58)
            valeur_max = Format(c.Offset(, 58).Value, "##,###0.000")
            Label6.Caption = c.Offset(, 54)
        End If
    Next c
    If Me.ComboBox3.Value Like "*P*" Or Me.ComboBox3.Value Like "*P*" Then
        'Me.TextBox4.Value = "P_" & Me.TextBox3.Value
      
        Tol_TM = valeur_max * 0.024
    Else
    'If Me.ComboBox3.Value Like "*U*" Then
        Tol_TM = valeur_max * 0.016
    End If
    Me.TextBox4.Value = Tol_TM
End Sub
 

rudymagny

XLDnaute Occasionnel
Re : Formatage de type : texte d'une textbox en double

Gilbert_RGI,
merci pour le code mais ça ne marche pas, il bloque toujours avec un problème de comptabilité.

Je ne comprend pas, pour lui, exemple :
la variable valeur_max = "129,2"
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Formatage de type : texte d'une textbox en double

chez moi ça fonctionne

voir le fichier PJ
 

Pièces jointes

  • ToléranceTM_042010.zip
    22.1 KB · Affichages: 23
  • ToléranceTM_042010.zip
    22.1 KB · Affichages: 20
  • ToléranceTM_042010.zip
    22.1 KB · Affichages: 22

jeanpierre

Nous a quitté
Repose en paix
Re : Formatage de type : texte d'une textbox en double

Bonjour rudymagny, Gilbert,

Pourquoi remplacer à la main.... des milliers de fils en parlent.

Selection de tes valeurs et Edition Remplacer et dans le premier champ tu mets ton . (point) et dans le second ta , (virgule) et tu termines par Remplacer tout.

Bonne soirée.

Jean-Pierre
 

rudymagny

XLDnaute Occasionnel
Re : Formatage de type : texte d'une textbox en double

bonsoir jeanpierre,
Tu as raison, après rechercher, j'ai trouvé cela à mettre dans l'ouverture du fichier :
Code:
Private Sub Workbook_Open()
    With Application
        .DecimalSeparator = "."
        .ThousandsSeparator = " "
        .UseSystemSeparators = False
    End With
End Sub

et là ça marche sans toucher au contenu
 

rudymagny

XLDnaute Occasionnel
Re : Formatage de type : texte d'une textbox en double

Bonjour gilbert_RGI, jeanpierre,
Mais bien sûr que je vous remercie, j'ai lâché un peu vite le forum hier soir , j'étais plongé dans mon application.

Je vous souhaite une bonne journée et à bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 076
Messages
2 085 086
Membres
102 773
dernier inscrit
dorok