Format texte dans un textbox

Bonjour,

j'ai un userform avec des textboxs me permettant de remplir un tableau excel.

Le problème est que lorsque je modifie les données dans le userform, lenregistrement des données dans mon tableau excel se fait sous format texte.

Comment faire pour que mes données restent des chiffres ? Je ne sais pas quoi ajouter pour que la conversion en texte ne se fasse plus.

Quelqu'un peut il m'aider ?

Merci

Private Sub modifier_Click()
Dim Ligne As Long
Dim I As Integer
  Ligne = Val(Me.LabelLigne)
  With Sheets("TABLEAU")
    Me.TextBox20 = .Range("A" & Ligne) 'info jamais modifiée
    Me.TextBox21 = .Range("B" & Ligne) 'info jamais modifiée
    For I = 5 To 31 '3
      .Cells(Ligne, I) = Me.Controls("TextBox_" & I - 2)
    Next I
  End With
 MsgBox "Modifications réussies", vbInformation
 End Sub

Bonjour

Problème assez classique

On considère que tous tes TextBox peuvent contenir des nombres décimaux ( sinon il faudra faire des exceptions dans ta boucle)

   For I = 5 To 31 '3
     .Cells(Ligne, I) = Val(Replace(Me.Controls("TextBox_" & I - 2),",","."))
    Next I

ah oui je comprends

mais le problème cest que cela colle des 0 ...


il y a pas un moyen de ne coller que les cellules non vides ? car le problème est que cela me colle des cellules vides au format texte et du coup je ne peux pas avoir de calcul dans mon tableau excel (via des formules classiques)

Bonjour

Un fichier en y expliquant ce que tu veux débloquerait la situation

Oui désolée.

Merci beaucoup pour votre aide.

10fichier-aide.xlsm (244.41 Ko)

Bonjour

Si j'ai compris ton problème

' modification des données dans l'userform vers le tableau excel
Private Sub modifier_Click()
Dim Ligne As Long
Dim I As Integer
  Ligne = Val(Me.LabelLigne)
  With Sheets("TABLEAU DE SUIVI")
    Me.TextBox20 = .Range("A" & Ligne)
    Me.TextBox21 = .Range("B" & Ligne)
    For I = 5 To 31 ' à partir de la ligne 5 pour ne pas actualiser le montant actualisé et enlever la formule
      If Me.Controls("TextBox_" & I - 2) = "" Then
        .Cells(Ligne, I).ClearContents
      Else
        If (I - 5) Mod 5 = 4 Then
          .Cells(Ligne, I) = Val(Replace(Me.Controls("TextBox_" & I - 2), ",", "."))
        Else
          .Cells(Ligne, I) = Me.Controls("TextBox_" & I - 2)
        End If
      End If
    Next I
  End With
 MsgBox "Modifications réussies", vbInformation
 End Sub

merci beaucoup !!!!!

Rechercher des sujets similaires à "format texte textbox"