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.
En vous remerciant par avance.
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
Dernière édition: