Comment récupérer le format deux décimales sur textbox

Bonjour,

Dans une cellule j'ai le numbre suivant: 2.20 avec deux décimales

J'aimerais récupérer ce même format dans une textbox.

je précise que j'ai pour le moment un peu de mal à comprendre les formats nombre sur textbox.

J'ai utilisé le format suivant : format (me.textbox1.value,"#,##0.00")

j'ai également utilisé le format suivant: utilisé le format suivant : format (me.textbox1.value,"0.00")

lorsque je fais un msgbox sur mon textbox j'obtiens le chiffre 44612.00 au lieu de 2.20.

Qu'est ce qui ne va pas ?

1 réponse

  1. Contributeur Ambassadeur

    bonjour,

    44612, c'est le nombre correspondant à la date du 20/2/2022.
    visiblement, ta cellule "2.20" contient une date, contrairement à ce que tu imagines.

    0
    1. Merci mais comment changer le format en chiffres sur la Textbox?

      Directement en VBA j'ai fait format(2,20,"0.00") mais j'obtiens toujours le résultat 44612.

      Comment changer ce format?

      0
    2. Contributeur Ambassadeur
      @Sormick

      Le point de départ serait de montrer ton code VBA.
      Ensuite, d'expliquer comment et pourquoi tu veux transformer la date 20/2/2022 en nombre.

      0
    3. @yg_be

      Dans la cellule "an16" il y a le chiffre 2,20 . La cellule est dans le format nombre, nombre de décimales: 2

      dans ma feuille j'ai rajouté ce code

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      
          If Target.Column = 38 Then
      If calculsqp.Visible = False Then Exit Sub
          If Not ActiveCell.Value = "" Then
       If Mid(Range("al4").Value, 13, 1) = "A" Then
       calculsqp.ComboBox2.ListIndex = 0
       End If
        If Mid(Range("al4").Value, 13, 1) = "B" Then
       calculsqp.ComboBox2.ListIndex = 1
       End If
        If Mid(Range("al4").Value, 13, 1) = "C" Then
       calculsqp.ComboBox2.ListIndex = 2
       End If
        If Mid(Range("al4").Value, 13, 1) = "D" Then
       calculsqp.ComboBox2.ListIndex = 3
       End If
      
      MsgBox Format(ActiveCell.Offset(0, 2).Value, "#,##0.00")
      
      
          If Right(ActiveCell.Value, 2) = "FR" Then
          If ActiveCell.Offset(0, 1).Value = "" Then
          MsgBox "Veuillez mettre le code iso de destination du colis Export", vbCritical
          Exit Sub
          End If
          calculsqp.ComboBox1.ListIndex = 0
          calculsqp.TextBox3 = ActiveCell.Offset(0, 1).Value
          
          Else
          calculsqp.ComboBox1.ListIndex = 1
          calculsqp.TextBox3 = Right(ActiveCell.Value, 2)
          End If
          
          End If
          If Not ActiveCell.Offset(0, 2).Value = "" Then
          calculsqp.TextBox2 = ActiveCell.Offset(0, 2).Value
          End If
          End If
          
      End Sub
      

      Dans mon code ou il y a le 

      MsgBox Format(ActiveCell.Offset(0, 2).Value, "#,##0.00")

      , celui ci fonctionne parfaitement sur mon ordinateur.

      Ce même code ne fonctionne pas sur un autre ordinateur . ça me donne le chiffre 44612.00 .

      Je précise que j'ai fait une copide de ce tableau sur l'autre PC. alors je ne comprends pas pourquoi cela ne me donne pas le même résultat.

      je me demande s'il y a une option à cocher sur excel ou à décocher.

      0
    4. Contributeur Ambassadeur
      @Sormick

      As-tu copié le fichier de ton ordi vers l'autre PC?

      C'est quoi "une copie d'un tableau"?

      Peux-tu tester avec un code plus simple, et préciser ce qui s'affiche sur chaque ordi?

      MsgBox CStr(CDbl([an16]))
      0
    5. @yg_be

      J'ai juste fait un copier coller de mon tableau original sur une clé USB puis vers ce nouveau PC.

      ce code
      MsgBox CStr(CDbl([an16]))

      fonctionne bien sur le premier PC.

      Sur le deuxième PC j'ai cette erreur: "Incompabilité de type"

      0