XL 2013 VBA supprimer Les espaces avant un retour chariot

Tiger75

XLDnaute Nouveau
Bonjour,
Je cherche un code en VBA qui me permettrait de supprimer les espaces avant un retour chariot,
exemple dans ma cellule j'ai :
France" "
ET
Espagne" "AND" "Portugal

je voudrai supprimer le " " avant le ET
Afin d'avoir
France
ET
Espagne" "AND" "Portugal
 

vgendron

XLDnaute Barbatruc
Hello
suffit d'ajouter un test pour éviter le bug quand la cellule est vide au départ

et pas la peine de laisser la ligne qui utilise la chaine temporaire.. puisqu'elle n'est pas utilisée par la suite
VB:
Sub Bouton()
Dim tab_str_temp() As String
Dim iNbLigneDci As Integer

iNbLigneDci = Range("R" & Rows.Count).End(xlUp).Row 'récupère la dernière ligne qui contient des données sur la colonne R
For i = 3 To iNbLigneDci 'pour chaque ligne à partir de la ligne 3
    If Cells(i, "R") <> "" Then 'si la cellule n'est pas vide (sinon bug)
        chaine = "" 'initialise la chaine
        tab_str_temp = Split(Cells(i, "R"), Chr(10)) 'on sépare la chaine selon le retour chariot et on met dans un tablo
        For j = UBound(tab_str_temp) To 0 Step -1 'pour chaque élément du tablo
            If tab_str_temp(j) <> "" Then chaine = Trim(tab_str_temp(j)) & Chr(10) & chaine 'on supprime les espaces
        Next j
        Cells(i, "R") = Left(chaine, Len(chaine) - 1) 'on supprime le dernier retour chariot
    End If
Next i
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 367
Messages
2 087 651
Membres
103 628
dernier inscrit
rou37x