Macro : Insérer des espaces avant et après un x

Résolu/Fermé
Lencorev - 11 juin 2015 à 16:40
 Lencorev - 12 juin 2015 à 08:46
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 !
A voir également:

1 réponse

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 11/06/2015 à 17:03
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,
0
Mais oui bien sur! Merci beaucoup :)
0