Format de cellule

Bonjour à tous

J'ai un formulaire qui me sert a remplir mon tableau excel, jusque la tout va bien.

Toute les cellules ont le forma texte par contre mes textbox renvoi un format numérique du coup quand j'écris dans ma textbox 05 le formulaire renvoi dans le tableau 5.

voici le bout de code :

Private Sub b_valid_Click() 'bouton modif
    If Me.Enreg <> "" And Me.TextBox1 <> "" Then
      NoEnreg = Me.Enreg
      For k = 4 To Ncol    'k = decalage de colone
         x = Replace(Me("textBox" & k), " ", "")
         If IsNumeric(x) Then
           f.Cells(NoEnreg, k) = Val(x)
         Else
           If Me("textbox" & k) <> "" Then
               f.Cells(NoEnreg, k) = Me("textBox" & k)
           Else
               f.Cells(NoEnreg, k) = Empty
           End If
         End If
      Next k
      'raz
      'Me.Enreg = ""
      UserForm_Initialize
    End If
End Sub

Que dois-je changer pour que le format reste en format texte?

Merci d'avance et bonne journée.

Bonjour,

Pour la/les Textbox concernée(s), vous pouvez tenter de remplacer cette partie :

f.Cells(NoEnreg, k) = Me("textBox" & k)

Par celle-ci :

f.Cells(NoEnreg, k).NumberFormat = "@"
f.Cells(NoEnreg, k) = Me("textBox" & k)

Si c'est insuffisant :

f.Cells(NoEnreg, k).NumberFormat = "@"
f.Cells(NoEnreg, k) = Format(Me("textBox" & k), "00")

Attention :

IsNumeric(x) risque de renvoyer True lors de la saisie de 05 par exemple. Auquel cas, il faudrait d'abord mettre une condition sur le numéro de Textbox (k) pour éviter d’exécuter cette partie du code lorsque ce n'est pas souhaité. Cette modification pourrait d'ailleurs suffire à résoudre votre problème de format.

Bonjour,

Pour la/les Textbox concernée(s), vous pouvez tenter de remplacer cette partie :

f.Cells(NoEnreg, k) = Me("textBox" & k)

Par celle-ci :

f.Cells(NoEnreg, k).NumberFormat = "@"
f.Cells(NoEnreg, k) = Me("textBox" & k)

Si c'est insuffisant :

f.Cells(NoEnreg, k).NumberFormat = "@"
f.Cells(NoEnreg, k) = Format(Me("textBox" & k), "00")

Attention :

IsNumeric(x) risque de renvoyer True lors de la saisie de 05 par exemple. Auquel cas, il faudrait d'abord mettre une condition sur le numéro de Textbox (k) pour éviter d’exécuter cette partie du code lorsque ce n'est pas souhaité. Cette modification pourrait d'ailleurs suffire à résoudre votre problème de format.

Merci Pedro22

Bonne journée

Merci Pedro22

Bonne journée

J'en déduis que le problème est résolu ?

Rechercher des sujets similaires à "format"