Suppression d'espace devant nombre importé

bonjour, je veux supprimer des espace devant les nombre de mon tableau car elle sont reconnu comme text mais rien a faire, si ce n'est de les sélectionnée uns a uns et supprimer manuellement , si quelqu'un peut m'aider sa serrai le bien venu merci.

voici tout les codes déjà utilisé

Sub Test()
Range("F3:Q65550").Select
'Selection = Application.Substitute(Selection, " ", "")
Selection.Replace Chr(32), ""
Selection.Replace Chr(160), ""
Selection.Replace " ", ""
Selection.Replace ".", ","
Selection.NumberFormat = "0.00"
Selection.Value = Application.Trim(Selection)
End Sub

Bonjour,

Peux-tu poster un exemple de ton fichier pour que nous puissions faire des tests ?

Bonjour, Salut Theze !

Essaie ainsi :

Sub Test()
    Dim c As Range
    For Each c In Selection.Cells
        c = Val(Replace(Replace(c, Chr(160), ""), ",", "."))
    Next c
    Selection.NumberFormat = "0.00"
End Sub

Nota: Soit tu sélectionnes manuellement les cellules sur lesquelles la macro doit intervenir, soit tu définis la plage, mais alors sans Select et en la plaçant sous bloc With... End With (histoire de toujours optimiser quelque peu la programmation... )

Cordialement.

Bonjour, merci pour la solution qui semble fonctionné, mais elle remplie toutes mes cellules vide par "0.00" et bien sûr, je veux qu'elles restent vide.

Sub Test()
    Dim c As Range
    With Sheets("BD_Devis").Range("F3:Q200").Select
    For Each c In Selection.Cells
        c = Val(Replace(Replace(c, Chr(160), ""), ",", "."))
    Next c
    Selection.NumberFormat = "0.00"
    End With
End Sub

Si tu sélectionnes des cellules vides...

    For Each c In Selection.Cells
        c = Val(Replace(Replace(c, Chr(160), ""), ",", "."))
        If c = 0 Then c.ClearContents
    Next c

Tu rajoutes cette ligne : dans la mesure où tu traînes des caractères invisibles, tester si la cellule est vide ne garantirait rien, le plus simple est donc d'effacer lorsqu'on a 0 comme résultat.

Cordialement.

Merci beaucoup ça fonction super !!

Sub Test()
    Dim c As Range
    With Sheets("BD_Devis").Range("F3:Q200").Select
    For Each c In Selection.Cells
        c = Val(Replace(Replace(c, Chr(160), ""), ",", "."))
            If c = 0 Then c.ClearContents
    Next c
    Selection.NumberFormat = "0.00"
    End With
End Sub

Elimine donc le Select, et le Selection qui n'aura plus d'intérêt sans Select.

Persuade-toi que chaque fois que tu écris un Select, tu ralentis l'exécution du code !

Avec With, au contraire tu l'accélères !

Sub Test()
    Dim c As Range
    With Sheets("BD_Devis").Range("F3:Q200")
        For Each c In .Cells
            c = Val(Replace(Replace(c, Chr(160), ""), ",", "."))
            If c = 0 Then c.ClearContents
        Next c
        .NumberFormat = "0.00"
    End With
End Sub

merci beaucoup pour toute ces explications !! j'apprends grâce a vous !

Bonne continuation...

merci a toi et merci au forum!!

Rechercher des sujets similaires à "suppression espace devant nombre importe"