Autres Format euro, dans Textbox, mal renvoyé...

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide pour mon problème de format euro dans une TextBox. La valeur renvoyée dans la cellule ne prend pas en compte les décimales. Le prix incrémentée automatiquement dans la Textbox est de 4,30, mais le prix envoyée dans la cellule est 4,00 (les cellules sont bien au format monétaire avec deux chiffres après la virgule).

voir fichier

Merci pour votre aide.
Bien amicalement,
Christian
 

Pièces jointes

re
bonjour
tu avais simplement inversé B ET C et pas converti la virgule
VB:
f2.Cells(lig, 3) = Val(Replace(Me.TextBox2, ",", "."))
  f2.Cells(lig, 2) = Val(Replace(Me.TextBox3, ",", "."))

il faudra nous expliquer pourquoi répéter deux fois l'incrémentation pour F dans archive
VB:
temp = f3.[F65000].End(xlUp)
  If IsNumeric(temp) Then [C1] = temp + 1 Else [C1] = 1
  temp = f3.[F65000].End(xlUp)
  If IsNumeric(temp) Then [C1] = temp + 1 Else [C1] = 1
??????????????
 
pour le fun je tout réécris le code de l'userform
VB:
Option Explicit
Private Sub LabelDate_Click()
    fmSTD_Calendrier.SelectDateCTRL1 Me, LabelDate    'appel calendrier
    If LabelDate <> "" Then
        B_ok.Enabled = True
    Else
        B_ok.Enabled = False
    End If
End Sub
Private Sub ComboBox1_Change()
    With ComboBox1
        If .ListIndex > -1 Then
            TextBox1 = .List(.ListIndex, 1)
            TextBox2 = Replace(.List(.ListIndex, 2), ",", ".") & " €"
        End If
    End With
End Sub



Private Sub UserForm_Initialize()
    liste
End Sub
Sub liste()
    With ComboBox1
        .ColumnCount = 4
        .List = Feuil1.Range("Tableau1").Value
        .ColumnWidths = .Width & ";0;0;0"
    End With
End Sub


Private Sub B_ok_Click()
Dim L As Long

    With Sheets("Saisie").Range("A65000").End(xlUp).Offset(1)
        .Value = Me.ComboBox1.Value
        .Offset(, 1).Value = Val(Replace(Me.TextBox3, ",", "."))   'ici la valeur envoyée n'est pas correctement affichée
        .Offset(, 2).Value = Val(Replace(Me.TextBox2, ",", "."))
    End With

    '**********************************
    'a quoi ca sert ceci ci dessous????????
    'Me.ComboBox1.SetFocus'???????????
    '[D1] = Now
    'temp = f3.[F65000].End(xlUp)
    'If IsNumeric(temp) Then [C1] = temp + 1 Else [C1] = 1
    '************************************
    With Sheets("Archives")
        L = .Range("G" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & L).Value = CDate(LabelDate)
        .Range("B" & L).Value = Month(CDate(LabelDate))
        .Range("C" & L).Value = Year(CDate(LabelDate))
        .Range("D" & L).Value = ComboClients
        .Range("E" & L).Value = ComboRèglement
        .Range("G" & L).Value = ComboBox1
        .Range("H" & L).Value = Val(Replace(Me.TextBox3, ",", "."))
        .Range("I" & L).Value = Val(Replace(Me.TextBox2, ",", "."))
    End With
    With Me
        .ComboBox1 = "": .TextBox1 = "": .TextBox2 = "": Me.TextBox3 = ""
    End With


End Sub

Private Sub B_fin_Click()
    Unload Me
End Sub
 
Re, le forum, pierrejean, patricktoulon,

Merci infiniment, patrick, pour tout le code.

J'ai une autre petite demande dans le fichier joint, je souhaiterais avoir devant chaque article, son montant ; soit TextBoxP.U x TextBoxQté, lors des saisies dans USF.

Merci pour votre aide.
Bien à vous,
Christian
 

Pièces jointes

re
VB:
Option Explicit
Private Sub LabelDate_Click()
    fmSTD_Calendrier.SelectDateCTRL1 Me, LabelDate    'appel calendrier
    If LabelDate <> "" Then
        B_ok.Enabled = True
    Else
        B_ok.Enabled = False
    End If
End Sub
Private Sub ComboBox1_Change()
    With ComboBox1
        If .ListIndex > -1 Then
            TextBox1 = .List(.ListIndex, 1)
            TextBox2 = Replace(.List(.ListIndex, 2), ",", ".") & " €"
        End If
    End With
End Sub



Private Sub UserForm_Initialize()
    liste
End Sub
Sub liste()
    With ComboBox1
        .ColumnCount = 4
        .List = Feuil1.Range("Tableau1").Value
        .ColumnWidths = .Width & ";0;0;0"
    End With
End Sub


Private Sub B_ok_Click()
    Dim L As Long

    With Sheets("Saisie").Range("A65000").End(xlUp).Offset(1)
        .Value = Me.ComboBox1.Value
        .Offset(, 1).Value = Val(Replace(Me.TextBox3, ",", "."))   'ici la valeur envoyée n'est pas correctement affichée
        .Offset(, 2).Value = Val(Replace(Me.TextBox2, ",", "."))
        .Offset(, 3).Value = Val(Replace(Me.TextBox2, ",", ".")) * Val(Replace(Me.TextBox3, ",", ".")) 'montant saisie

    End With

    '**********************************
    'a quoi ca sert ceci ci dessous????????
    'Me.ComboBox1.SetFocus'???????????
    '[D1] = Now
    'temp = f3.[F65000].End(xlUp)
    'If IsNumeric(temp) Then [C1] = temp + 1 Else [C1] = 1
    '************************************
    With Sheets("Archives")
        L = .Range("G" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & L).Value = CDate(LabelDate)
        .Range("B" & L).Value = Month(CDate(LabelDate))
        .Range("C" & L).Value = Year(CDate(LabelDate))
        .Range("D" & L).Value = ComboClients
        .Range("E" & L).Value = ComboRèglement
        .Range("G" & L).Value = ComboBox1
        .Range("H" & L).Value = Val(Replace(Me.TextBox3, ",", "."))
        .Range("I" & L).Value = Val(Replace(Me.TextBox2, ",", "."))
        .Range("J" & L).Value = Val(Replace(Me.TextBox2, ",", ".")) * Val(Replace(Me.TextBox3, ",", ".")) 'montant archive
    End With
    With Me
        .ComboBox1 = "": .TextBox1 = "": .TextBox2 = "": Me.TextBox3 = ""
    End With


End Sub

Private Sub B_fin_Click()
    Unload Me
End Sub
 
re
heu jusqu’à présent je ne t'ai pas aidé j'ai tout réécris a ta place
tu pourrais faire des efforts et essayer de débrouiller tout seul maintenant
inscrit en 2006 tu n'est pas un novice 🙄
dans tes demandes tu pourrais au moins détailler ton soucis plutôt que de donner un fichier pour que je regarde
aider n'est pas faire le job a la place de l'autre
tu a une base travaille dessus 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
612
  • Question Question
Microsoft 365 Format de cellule
Réponses
3
Affichages
415
Réponses
8
Affichages
653
  • Question Question
XL pour MAC Cellule
Réponses
2
Affichages
1 K
  • Question Question
Microsoft 365 Bug dans export TXT
Réponses
6
Affichages
512
  • Question Question
Microsoft 365 Zéro Perdu
Réponses
12
Affichages
535
Retour