Suppression d'espaces inutiles

Résolu
HelpSurVBA Messages postés 5 Statut Membre -  
HelpSurVBA Messages postés 5 Statut Membre -
Bonjour,

je souhaiterai supprimer sur l'ensemble de ma feuille les espaces inutiles
Mes cellules contiennent des chaînes de caractères.
Mais parfois, entre les mots ils y a des espaces en trop (deux, trois, quatre... espaces). Je voudrais ramener ces espaces à 1
pour que : "Aujourd'hui c'est samedi" (avec 4 espaces entre c'est et samedi)
devienne : "Aujourd'hui c'est samedi"

J'arrive pas à trouver de macro qui fonctionne.
Qui peut m'aider ?

3 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    Sub RemplacerEspaces()
        Application.ScreenUpdating = False
        For i = 1 To 10
            Cells.Replace What:="  ", Replacement:=" ", LookAt:=xlPart
        Next i
    End Sub

    Remplacez la valeur 10 par le nombre maximum d'espaces possibles.
    Cdlt
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour helpvba, Frenchie

    autre possibilité quelque soit le texte et nombre espaces superflus
    un peu usine à gaz mais...
    Option Explicit
    '------
    Function epurer_espaces(texto)
    Dim Brut, Cptr As Byte
    Brut = Split(texto, " ")
    For Cptr = 0 To UBound(Brut)
    If Brut(Cptr) <> "" Then
    epurer_espaces = epurer_espaces & Brut(Cptr) & " "
    End If
    Next
    epurer_espaces = RTrim(epurer_espaces)
    End Function

    0
  3. HelpSurVBA Messages postés 5 Statut Membre
     
    Merci à tous
    0