[RESOLU]supprimer espaces dans textbox

cathodique

XLDnaute Barbatruc
Bonjour,

Via une userfrom, je saisis et transfert des données sur 2 Feuilles (Source et Cible).

L'userform contient 2 textboxs, textbox1= intitulé et textbox2=données séparées par des tirets;

mais j’y insère aussi des espaces par inadvertance.

Sur la feuille Cible, Textbox1 est repris en colonne A autant des fois qu'il y a de données sépararées par un tirets de la textbox2, et les données de la textbox2 sont mises en colonne B (pour cette opération, j'ai utilisé la fonction Trim).

Sur la feuille Source, textbox1 est mise en colonne A et textbox2 en colonne B, sauf que là je voudrais supprimer les espaces pour ne garder que les données et les tirets. J'ai fait un essai avec Trim mais ça ne donne rien.
Code:
Private Sub Cmd_Transfert_Click()
    Dim LastLig As Long, x As String, C As Range, i As Integer

    With Sheets("Source")
        LastLig = .Columns(1).Find("").Row
        'on verifie que la donnée n'existe pas
        x = Me.TextBox1

        Set C = .Columns(1).Cells.Find(x)
        If Not C Is Nothing Then
            MsgBox "Donnée existe déjà!", vbCritical
            Unload Me

        Else
            'on enregistre
            .Cells(LastLig, 1) = UCase(Me.TextBox1.Text)
            .Cells(LastLig, 2) = UCase(Trim(Me.TextBox2.Text)) '***comment supprimer les espaces
        End If
    End With

    With Sheets("Cible")
        Dim txt As String
        LastLig = .Columns(1).Find("").Row

        txt = Me.TextBox2.Text
        x = LastLig
        For i = 0 To UBound(Split(txt, "-"))
            .Cells(x, "A") = Me.TextBox1
            .Cells(x, "B") = Trim(Split(txt, "-")(i))
            x = x + 1
        Next i
    End With

    MsgBox "Enregistrement terminé!", vbExclamation
End Sub

En vous remerciant par avance.
 

Pièces jointes

  • Texte_TextBox.xlsm
    20.8 KB · Affichages: 43
Dernière édition:

cathodique

XLDnaute Barbatruc
Re : supprimer espaces

Re,

Je viens de trouver une solution
Code:
With Sheets("Source")
        LastLig = .Columns(1).Find("").Row
        'on verifie que la donnée n'existe pas
        x = Me.TextBox1

        Set C = .Columns(1).Cells.Find(x)
        If Not C Is Nothing Then
            MsgBox "Donnée existe déjà!", vbCritical
            Unload Me

        Else
            'on enregistre
            .Cells(LastLig, 1) = UCase(Me.TextBox1.Text)
            .Cells(LastLig, 2) = UCase(Me.TextBox2.Text) '***comment supprimer les espaces
            .Cells(LastLig, 2).Replace " ", ""  'on remplace les espaces
        End If
    End With
Mais je voudrais savoir si c'est possible de supprimer les espaces de la textbox avant le transfert. J'ai essayé avec Trim et replace sur la textbox sans succès. En vous remerciant par avance.
 

Discussions similaires

Réponses
0
Affichages
176

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz