Remplacer des virgules par des points sur une feuille

Le
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:ú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 !!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4323921
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"
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 !!
JB
Le #4323881
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 !!


Le Phénomene
Le #4323781
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
Publicité
Poster une réponse
Anonyme