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

Sormick Messages postés 163 Statut Membre -  
Sormick Messages postés 163 Statut Membre -

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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    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. Sormick Messages postés 163 Statut Membre
       

      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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Sormick Messages postés 163 Statut Membre
       

      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. Sormick Messages postés 163 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       

      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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Sormick Messages postés 163 Statut Membre
       

      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 Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Sormick Messages postés 163 Statut Membre
       

      Il serait plus judicieux de mettre 2.20 comme nombre dans une cellule, puis de copier le fichier vers l'autre PC.

      1