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 SubJ'ajoute également le fichier transformé en .xls sur lequel le code doit s'appliquer en pièce jointe.
Par avance merci pour votre aide.
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.