Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Remplacer des virgules par des points sur une feuille

3 réponses
Avatar
Le Phénomene
Bonjour,
J'utilise au boulot la version Excel2002 (Excel 97 chez moi et tout
fonctionne snif)
Je souhaiterai, sur une feuille, remplacer dans des valeurs (Quantité
convertit en texte - @) contenues dans une colonne, le séparateur de décimale
virgule "," par un point "." SANS devoir toucher au paramètrages
internationaux (outil/option...) via le VBA.
Lorsque je fais en manuel ctrl+h... résultat ok
mais avec les codes suivants :
A -
Sub Macro4()
Sheets("CSV").Select
Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False,
ReplaceFormat:=False
End Sub

B -
Sub Macro5()
Cells.Select
Application.FindFormat.NumberFormat = "@"
Application.ReplaceFormat.NumberFormat = "@"
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
ReplaceFormat:=True
End Sub

... ben rien :o(
Merci par avance pour vos réponses.

--
Le Phénomene
Je viens de découvrir ce forum... De grands merci aux nombreux participants !!

3 réponses

Avatar
MichDenis
Tu sélectionnes ta plages à traiter et tu appelles la procédure suivante :

'-----------------------
Sub RemplacerVirguleFormatNombre()

Dim Tblo As Variant, Rg As Range, Are As Range
Set Rg = Selection
For Each Are In Rg.Areas
Tblo = Are
For a = 1 To UBound(Tblo, 1)
For b = 1 To UBound(Tblo, 2)
'Remplace la virgule par un point
Tblo(a, b) = Replace(Tblo(a, b), ",", ".")
Next
Next
Are.NumberFormat = "# ##0.00"
Are = Tblo
Next
Set Rg = Nothing: Set Are = Nothing
End Sub
'-----------------------



"Le Phénomene" a écrit dans le message de news:

Bonjour,
J'utilise au boulot la version Excel2002 (Excel 97 chez moi et tout
fonctionne snif)
Je souhaiterai, sur une feuille, remplacer dans des valeurs (Quantité
convertit en texte - @) contenues dans une colonne, le séparateur de décimale
virgule "," par un point "." SANS devoir toucher au paramètrages
internationaux (outil/option...) via le VBA.
Lorsque je fais en manuel ctrl+h... résultat ok
mais avec les codes suivants :
A -
Sub Macro4()
Sheets("CSV").Select
Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:úlse, SearchFormat:úlse,
ReplaceFormat:úlse
End Sub

B -
Sub Macro5()
Cells.Select
Application.FindFormat.NumberFormat = "@"
Application.ReplaceFormat.NumberFormat = "@"
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:=True, _
ReplaceFormat:=True
End Sub

... ben rien :o(
Merci par avance pour vos réponses.

--
Le Phénomene
Je viens de découvrir ce forum... De grands merci aux nombreux participants !!
Avatar
JB
Bonjour,

Sub convVirgulePoint()
For Each c In Selection
c.NumberFormat = "@"
c.Value = CStr(Replace(c.Text, ",", "."))
Next c
End Sub

Avec formattage:

Sub convVirgulePoint2()
For Each c In Selection
c.NumberFormat = "@"
c.Value = Replace(Format(c.Text, "# ##0.00"), ",", ".")
Next c
End Sub

http://boisgontierj.free.fr/fichiers/ConversionNumeriqueDate.xls

JB


On 19 mar, 12:32, Le Phénomene
wrote:
Bonjour,
J'utilise au boulot la version Excel2002 (Excel 97 chez moi et tout
fonctionne snif)
Je souhaiterai, sur une feuille, remplacer dans des valeurs (Quantité
convertit en texte - @) contenues dans une colonne, le séparateur de d écimale
virgule "," par un point "." SANS devoir toucher au paramètrages
internationaux (outil/option...) via le VBA.
Lorsque je fais en manuel ctrl+h... résultat ok
mais avec les codes suivants :
A -
Sub Macro4()
Sheets("CSV").Select
Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, Sear chOrder _
:=xlByRows, MatchCase:úlse, SearchFormat:úlse,
ReplaceFormat:úlse
End Sub

B -
Sub Macro5()
Cells.Select
Application.FindFormat.NumberFormat = "@"
Application.ReplaceFormat.NumberFormat = "@"
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:=True , _
ReplaceFormat:=True
End Sub

... ben rien :o(
Merci par avance pour vos réponses.

--
Le Phénomene
Je viens de découvrir ce forum... De grands merci aux nombreux particip ants !!


Avatar
Le Phénomene
Acceptez mes excuses pour le délai de réponse... coincé en réunion !!
Je vous remercie MichDenis & JB pour vos promptes réponses.
Vos solutions fonctionnes et me retirent une belle épine du pied.
Bravo pour cette solidarité.
--
Le Phénomene