Transformer format numérique anglo saxon aves syst eur^péen
5 réponses
Hermon Daniel
Bonsoir,
Suite à une importation d'un fichier csv sous excel2003, j'ai des données en
format texte, représentant des nombres, du style "2,328.25" que je souhaite
transformer en nombres (dans le cas cité 2328,25) afin de pouvoir les
utiliser pour des calculs. J'ai essayé la commande Remplacer (en premier
avec supression de la virgule, en second lieu avec le remplacement du point
par une virgule); cela ne marche pas. Je souhaiterai, si possible, utilise
VBA. Merci pour votre aide, quelle qu'elle soit.
Bien cordialement.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour,
Tu adaptes le nom de la feuille et de la plage de cellules.
Évidemment, tu peux modifier le format selon les besoins de ton application.
'----------------------------- Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With Range("A1:A" & Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True
"Hermon Daniel" a écrit dans le message de groupe de discussion : 4c547577$0$9870$ Bonsoir, Suite à une importation d'un fichier csv sous excel2003, j'ai des données en format texte, représentant des nombres, du style "2,328.25" que je souhaite transformer en nombres (dans le cas cité 2328,25) afin de pouvoir les utiliser pour des calculs. J'ai essayé la commande Remplacer (en premier avec supression de la virgule, en second lieu avec le remplacement du point par une virgule); cela ne marche pas. Je souhaiterai, si possible, utilise VBA. Merci pour votre aide, quelle qu'elle soit. Bien cordialement.
Bonjour,
Tu adaptes le nom de la feuille et de la plage de cellules.
Évidemment, tu peux modifier le format selon les besoins de ton application.
'-----------------------------
Sub test()
Dim C As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheet("Feuil1")
With Range("A1:A" & Range("A65536").End(xlUp).Row)
.Replace Chr(160), ""
.Replace ",", ""
.Replace ",", "."
.Value = .Value
.NumberFormat = "# ##0.00"
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
"Hermon Daniel" <dhermon@free.fr> a écrit dans le message de groupe de discussion :
4c547577$0$9870$426a34cc@news.free.fr...
Bonsoir,
Suite à une importation d'un fichier csv sous excel2003, j'ai des données en
format texte, représentant des nombres, du style "2,328.25" que je souhaite
transformer en nombres (dans le cas cité 2328,25) afin de pouvoir les
utiliser pour des calculs. J'ai essayé la commande Remplacer (en premier
avec supression de la virgule, en second lieu avec le remplacement du point
par une virgule); cela ne marche pas. Je souhaiterai, si possible, utilise
VBA. Merci pour votre aide, quelle qu'elle soit.
Bien cordialement.
Tu adaptes le nom de la feuille et de la plage de cellules.
Évidemment, tu peux modifier le format selon les besoins de ton application.
'----------------------------- Sub test() Dim C As Range Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With Range("A1:A" & Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True
"Hermon Daniel" a écrit dans le message de groupe de discussion : 4c547577$0$9870$ Bonsoir, Suite à une importation d'un fichier csv sous excel2003, j'ai des données en format texte, représentant des nombres, du style "2,328.25" que je souhaite transformer en nombres (dans le cas cité 2328,25) afin de pouvoir les utiliser pour des calculs. J'ai essayé la commande Remplacer (en premier avec supression de la virgule, en second lieu avec le remplacement du point par une virgule); cela ne marche pas. Je souhaiterai, si possible, utilise VBA. Merci pour votre aide, quelle qu'elle soit. Bien cordialement.
michdenis
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit :
'---------------------------
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheet("Feuil1")
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Replace Chr(160), ""
.Replace ",", ""
.Replace ",", "."
.Value = .Value
.NumberFormat = "# ##0.00"
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'---------------------------
--
MichD
--------------------------------------------
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------
Hermon Daniel
Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu rectifier la macro ? Merci par avance. Cordialement. "michdenis" a écrit dans le message de news: i33i9k$up7$
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------
Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta
macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub
ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu
rectifier la macro ? Merci par avance. Cordialement.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
i33i9k$up7$1@speranza.aioe.org...
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit :
'---------------------------
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheet("Feuil1")
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Replace Chr(160), ""
.Replace ",", ""
.Replace ",", "."
.Value = .Value
.NumberFormat = "# ##0.00"
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'---------------------------
--
MichD
--------------------------------------------
Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu rectifier la macro ? Merci par avance. Cordialement. "michdenis" a écrit dans le message de news: i33i9k$up7$
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------
michdenis
Tu as raison, il manque un S à WorksheetS
Modifie comme ceci : With WorksheetS("Feuil1") en adaptant le nom de la feuille
"Hermon Daniel" a écrit dans le message de groupe de discussion : 4c56a391$0$10099$ Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu rectifier la macro ? Merci par avance. Cordialement. "michdenis" a écrit dans le message de news: i33i9k$up7$
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------
Tu as raison, il manque un S à WorksheetS
Modifie comme ceci : With WorksheetS("Feuil1")
en adaptant le nom de la feuille
"Hermon Daniel" <dhermon@free.fr> a écrit dans le message de groupe de discussion :
4c56a391$0$10099$426a74cc@news.free.fr...
Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta
macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub
ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu
rectifier la macro ? Merci par avance. Cordialement.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
i33i9k$up7$1@speranza.aioe.org...
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit :
'---------------------------
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheet("Feuil1")
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Replace Chr(160), ""
.Replace ",", ""
.Replace ",", "."
.Value = .Value
.NumberFormat = "# ##0.00"
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'---------------------------
--
MichD
--------------------------------------------
"Hermon Daniel" a écrit dans le message de groupe de discussion : 4c56a391$0$10099$ Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu rectifier la macro ? Merci par avance. Cordialement. "michdenis" a écrit dans le message de news: i33i9k$up7$
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------
Hermon Daniel
Bonsoir, et merci pour ton aide. Cordialement. "michdenis" a écrit dans le message de news: i369i8$j87$
Tu as raison, il manque un S à WorksheetS
Modifie comme ceci : With WorksheetS("Feuil1") en adaptant le nom de la feuille
"Hermon Daniel" a écrit dans le message de groupe de discussion : 4c56a391$0$10099$ Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu rectifier la macro ? Merci par avance. Cordialement. "michdenis" a écrit dans le message de news: i33i9k$up7$
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------
Bonsoir, et merci pour ton aide.
Cordialement.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
i369i8$j87$1@speranza.aioe.org...
Tu as raison, il manque un S à WorksheetS
Modifie comme ceci : With WorksheetS("Feuil1")
en adaptant le nom de la feuille
"Hermon Daniel" <dhermon@free.fr> a écrit dans le message de groupe de
discussion :
4c56a391$0$10099$426a74cc@news.free.fr...
Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta
macro. En ligne 3, le mot Workshhet provoque une erreur de compilation
(sub
ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu
rectifier la macro ? Merci par avance. Cordialement.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
i33i9k$up7$1@speranza.aioe.org...
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit :
'---------------------------
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Worksheet("Feuil1")
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Replace Chr(160), ""
.Replace ",", ""
.Replace ",", "."
.Value = .Value
.NumberFormat = "# ##0.00"
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'---------------------------
--
MichD
--------------------------------------------
"Hermon Daniel" a écrit dans le message de groupe de discussion : 4c56a391$0$10099$ Bonjour et merci pour la réponse. Petit problème lors de d'exécution de ta macro. En ligne 3, le mot Workshhet provoque une erreur de compilation (sub ou fonction non définie). Etant plutôt débutant en VBA, pourrais tu rectifier la macro ? Merci par avance. Cordialement. "michdenis" a écrit dans le message de news: i33i9k$up7$
Oups, j'ai omis les "."(points) devant les 2 objets "Range"
La macro devrait se lire comme suit : '--------------------------- Sub test() Application.ScreenUpdating = False Application.EnableEvents = False With Worksheet("Feuil1") With .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Replace Chr(160), "" .Replace ",", "" .Replace ",", "." .Value = .Value .NumberFormat = "# ##0.00" End With End With Application.EnableEvents = True Application.ScreenUpdating = True End Sub '--------------------------- -- MichD --------------------------------------------