Suppression des blancs avant le texte

bonjour

j'ai écrie la macro ci dessous je ne comprends pas pourquoi elle ne fonctionne pas .

ci joint le fichier

cordialement

philippe

Sub suppression_blanc()

Dim ligne As String
 ligne = 3

 Do While Cells(ligne, 3).Value <> ""

 If Left(Cells(ligne, 3).Value, 1) = "" Then

 Cells(ligne, 26).Value = Left(Cells(ligne, 3).Value, Len(Cells(ligne, 3).Value) - 1)
 Else
 Cells(ligne, 26).Value = Cells(ligne, 3).Value
    End If

 If Left(Cells(ligne, 4).Value, 1) = "" Then
 Cells(ligne, 27).Value = Left(Cells(ligne, 4).Value, Len(Cells(ligne, 4).Value) - 1)
 Else
 Cells(ligne, 27).Value = Cells(ligne, 4).Value

  End If

   If Left(Cells(ligne, 5).Value, 1) = "" Then

 Cells(ligne, 28).Value = Left(Cells(ligne, 5).Value, Len(Cells(ligne, 5).Value) - 1)
 Else
 Cells(ligne, 28).Value = Cells(ligne, 5).Value

  End If

 ligne = ligne + 1
 Loop

End Sub
17test-blanc.xlsm (24.16 Ko)

Bonjour, je n'ai pas regardé l'intégralité de la macro car j'ai un peu de mal pour comprendre les codes déjà écrit.

Ceci dit, vous avez une première erreur ici

Dim ligne As String
 ligne = 3

Ligne ne peut pas être déclaré en "string" si la variable va accueillir une donnée de type numérique

il faut la déclarer en integer ou en long

bonsoir CPk

j'ai essayé integer et long mais c'est toujours pareil

merci pour ta réponse

philippe

Si la macro doit supprimer l'espace devant une chaîne il existe la fonction Ltrim() pour ça.

Essayez :

Sub suppression_blanc()
Dim c As Range
For Each c In Feuil3.UsedRange
c = LTrim(c)
Next
End Sub

Mais sinon...que voulez vous faire quand vous écrivez ceci :

Cells(ligne, 26).Value = Left(Cells(ligne, 3).Value, Len(Cells(ligne, 3).Value) - 1)

?

bonjour

la macro ne fonction pas pour tout les blancs. J 'abandonne je reprends tout manuellement.

pour Cells(ligne, 26).Value = Left(Cells(ligne, 3).Value, Len(Cells(ligne, 3).Value) - 1)

je supprime le caractère de devant

merci pour ton aide

cordialement

Bonjour , il ne faut pas abandonner aussi vite, en voici une qui délocalise le vilain méchant espace.

Sub suppression_blanc()
Dim c As Range
For Each c In Feuil3.[A2].CurrentRegion
c = Replace(c, Chr(160), vbNullString, , , vbTextCompare)
Next
End Sub
Rechercher des sujets similaires à "suppression blancs texte"