Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA enlever espace cellule

Marjo2

XLDnaute Occasionnel
Bonjour Forum,
J'ai lu énormément de cas similaire mais rien ni fait, je n'arrive pas à adapter.
Je ne souhaite pas ajouter de colonne pour y mettre des formules supprespace et autre. D'où un code VBA.

Dans mon onglet ACHAT, en colonne E et F, je peux soit avoir des chiffres soit des espaces (cellules en format texte).
Quand je fais mon concatener (colonne D + colonne E + colonne F), celui-ci n'est pas bon car il est faussé par les espaces.

J'ai fait ce bout mais ça plante.
Sub SupEsp()
'supprimer les espaces d'une cellule
Dim Cell As Range
Worksheets("ACHAT").Select
Columns("E:E").Select
Columns("F:F").Select
For Each Cell In ActiveSheet.UsedRange
Cell = Application.WorksheetFunction.Trim(Cell)
Next
End Sub

Quelqu'un pour m'aider svp ?
Merci d'avance.
 

Pièces jointes

  • Exemple.xlsm
    330.2 KB · Affichages: 8

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Pas trop compris où était la concaténation mais pour supprimer les espaces j'utiliserais plutôt ceci:
VB:
Sub SupprimerEspaces()
    With Sheets("ACHAT")
        With Intersect(.UsedRange, .Range("E:F"))
            .Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
        End With
    End With
End Sub

Bonne fin d'après-midi
 

job75

XLDnaute Barbatruc
Bonjour Marjo2, Roblochon,
Quand je fais mon concatener (colonne D + colonne E + colonne F), celui-ci n'est pas bon car il est faussé par les espaces.
Les espaces ne sont pas du tout gênants, enlevez-les lors de la concaténation :

- formule dans la feuille => D2&SUPPRESPACE(E2)&SUPPRESPACE(F2)

- VBA => [D2] & Trim([E2]) & Trim([F2])

A+
 

Discussions similaires

Réponses
2
Affichages
946
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…