Macro : Insérer des espaces avant et après un x [Résolu/Fermé]

Signaler
-
 Lencorev -
Bonjour,

J'ai une colonne de mon fichier excel qui contient des dimensions sous la forme suivante :
170x170cm
300x140cm
40x40x8cm
50x38x14cm
160x50cm
170x170cm
40x40cm
50x38cm

Il faudrait que j'ai des espaces avant et après le x comme ceci:
170 x 170cm
270 x 170cm
300 x 140cm
40 x 40 x 8cm
50 x 38 x 14cm


Mon code ne marche pas bien puisqu'il ne tient compte que du nombre de caractères de la cellule...

For I = 1 To 400
If Len(Range("S" & I)) = 7 Then
Range("S" & I) = Left(Range("S" & I), Len(Range("S" & I)) - 4) & " " & Right(Range("S" & I), 4)
Range("S" & I) = Left(Range("S" & I), Len(Range("S" & I)) - 6) & " " & Right(Range("S" & I), 6)

Else
If Len(Range("S" & I)) = 9 Then
Range("S" & I) = Left(Range("S" & I), Len(Range("S" & I)) - 5) & " " & Right(Range("S" & I), 5)
Range("S" & I) = Left(Range("S" & I), Len(Range("S" & I)) - 7) & " " & Right(Range("S" & I), 7)
End if
End if


Si vous pensez à un moyen plus efficace et qui fonctionne pour tous les cas, je suis preneuse.

Merci d'avance !

1 réponse

Messages postés
1823
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
578
Bonjour,

Il y a plus simplement l'utilisation de la méthode Replace :

Columns("S:S").Select
Selection.Replace What:="x", Replacement:=" x "


Dans mon exemple c'est la colonne S il suffit d'adapter
Cordialement,
Mais oui bien sur! Merci beaucoup :)