Remplacement points par blancs sur VBA

Bonjour à tous,

J'ai créé une macro permettant de remettre en forme un import de fichier .txt mais je bloque cependant sur le remplacement des points "." par des blancs "" pour les colonnes Q et R.

Lorsque j'utilise la fonction rechercher et remplacer sur VBA, les virgules sont considérées comme des points et remplacées également par des blancs alors que manuellement ça fonctionne très bien.

Je vous joins mon code avec en gras la partie qui pose problème :

Sub Macro_FG_tri_test2()
'
' Macro_FG_tri_test2 Macro
'
'
    Range("B9").Select
    Selection.Cut Destination:=Range("C9")

    Columns("A:B").Select
    Selection.Delete Shift:=xlToLeft

    Cells.Select
    ActiveWorkbook.Worksheets("SP01-txt-macro").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("SP01-txt-macro").Sort.SortFields.Add Key:=Range( _
        "A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("SP01-txt-macro").Sort
        .SetRange Range("A2:AI1206")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

    Range("A2").Select
    ActiveCell.FormulaR1C1 = "Material"
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp

    Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

    Columns("C:D").Select
    Selection.Delete Shift:=xlToLeft

    Columns("J:J").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

    Range("J1").Select
    ActiveCell.FormulaR1C1 = "Pline"
    Range("J2").Select
    ActiveCell.FormulaR1C1 = "=MID(RC[-1],1,7)"
    Range("J2").Select
    Selection.AutoFill Destination:=Range("J2:J1123")
    Range("J2:J1123").Select

    Columns("Q:Y").Select
    Selection.Delete Shift:=xlToLeft

    Columns("S:W").Select
    Selection.Delete Shift:=xlToLeft

    Columns("O:O").Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

   [b] Columns("Q:R").Select
    Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
[/b]    

    Range("S1").Select
    ActiveCell.FormulaR1C1 = "check"
    Range("S2").Select
    ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-4]/RC[-3]-RC[-1]"
    Range("S2").Select
    Selection.AutoFill Destination:=Range("S2:S2000")
    Range("S2:S1123").Select

    Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"

End Sub

J'ajoute également le fichier transformé en .xls sur lequel le code doit s'appliquer en pièce jointe.

Par avance merci pour votre aide.

13sp01-txt-macro01.xlsm (156.45 Ko)

Bonjour,

tu peux essayer d'utiliser ceci :

Sheets("Feuil1").Columns(1).Replace ".", "" 

en changeant le numéro de colonne par celui souhaité et aussi les caractères à changer, si tu veux un espace à la place du point pense à le mettre entre les guillemets.

A plus

Bonjour,

Merci pour ta réponse malheureusement ça ne fonctionne pas, il y a toujours le même problème à savoir que les virgules sont considérées comme des points et sont donc supprimées lors de remplacement.

A plus.

Salut à tous,

Petit up, j'ai constaté que lorsque je mets un point (".") du pavé numérique sur le tableur, il met une virgule. Si ça peut aider à la résolution du problème.

Merci.

Rechercher des sujets similaires à "remplacement points blancs vba"