Bonjour,
Quand je remplace des donnees sur tableur excel 2000 ex:
100.253 en 100,253 en passant manuellement par remplace .
par , tout se deroule normalement. Par contre si je fais
la meme operation sous forme de macro le point est
supprimer et j'ai 100253 au lieu de 100,253 et ceci sur
certaines cellules.
A priori ce n'est pas un probleme de format de cellule,
car j'ai fait des tests avec format texte, numerique ....
Avec mes remerciements.
chercher . (point) remplacer par , (virgule) remplacer tout
possible de se limiter à quelques colonnes seulement (suffit de cliquer sur la tête de colonne avant de faire le cntl H)
(Pas besoin d'inventer des macros quand il existe des fonctions de base qui font le boulot)
Frédéric Sigonneau
Bonjour,
VBA utilise par défaut les formats américains. Il interprète la virgule comme le séparateur de milliers US et non comme le séparateur décimal souhaité. Une solution possible :
Sub Point2Virgule() Dim cell As Range, NbDec For Each cell In Selection NbDec = Len(cell.Value) - InStr(1, cell.Value, ".") cell.Value = _ Application.Substitute(cell.Value, ".", "") / (10 ^ NbDec) Next cell End Sub
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour, Quand je remplace des donnees sur tableur excel 2000 ex: 100.253 en 100,253 en passant manuellement par remplace . par , tout se deroule normalement. Par contre si je fais la meme operation sous forme de macro le point est supprimer et j'ai 100253 au lieu de 100,253 et ceci sur certaines cellules. A priori ce n'est pas un probleme de format de cellule, car j'ai fait des tests avec format texte, numerique .... Avec mes remerciements.
Bonjour,
VBA utilise par défaut les formats américains. Il interprète la virgule comme le
séparateur de milliers US et non comme le séparateur décimal souhaité. Une
solution possible :
Sub Point2Virgule()
Dim cell As Range, NbDec
For Each cell In Selection
NbDec = Len(cell.Value) - InStr(1, cell.Value, ".")
cell.Value = _
Application.Substitute(cell.Value, ".", "") / (10 ^ NbDec)
Next cell
End Sub
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Quand je remplace des donnees sur tableur excel 2000 ex:
100.253 en 100,253 en passant manuellement par remplace .
par , tout se deroule normalement. Par contre si je fais
la meme operation sous forme de macro le point est
supprimer et j'ai 100253 au lieu de 100,253 et ceci sur
certaines cellules.
A priori ce n'est pas un probleme de format de cellule,
car j'ai fait des tests avec format texte, numerique ....
Avec mes remerciements.
VBA utilise par défaut les formats américains. Il interprète la virgule comme le séparateur de milliers US et non comme le séparateur décimal souhaité. Une solution possible :
Sub Point2Virgule() Dim cell As Range, NbDec For Each cell In Selection NbDec = Len(cell.Value) - InStr(1, cell.Value, ".") cell.Value = _ Application.Substitute(cell.Value, ".", "") / (10 ^ NbDec) Next cell End Sub
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour, Quand je remplace des donnees sur tableur excel 2000 ex: 100.253 en 100,253 en passant manuellement par remplace . par , tout se deroule normalement. Par contre si je fais la meme operation sous forme de macro le point est supprimer et j'ai 100253 au lieu de 100,253 et ceci sur certaines cellules. A priori ce n'est pas un probleme de format de cellule, car j'ai fait des tests avec format texte, numerique .... Avec mes remerciements.
figwer Philippe
salut sinon j'ai une solution qui est plus radicale....qui est de changer les paramètres régionaux du pc panneau de config/parametre régionaux et remplacer , par le point
c'est radical et ne change pas grand chose pour l'utilisateur.
salut
sinon j'ai une solution qui est plus radicale....qui est de changer les
paramètres régionaux du pc
panneau de config/parametre régionaux et remplacer , par le point
c'est radical et ne change pas grand chose pour l'utilisateur.
salut sinon j'ai une solution qui est plus radicale....qui est de changer les paramètres régionaux du pc panneau de config/parametre régionaux et remplacer , par le point
c'est radical et ne change pas grand chose pour l'utilisateur.
figwer Philippe
re , certe normalement c'est la solution mais kan on l'utilise avec une macro qui ouvre un fichier txt; les virgules ne sont pas bien transcritent...c'est surtout pour ça que la méthodes données sont plus tordues
"2B or not 2B" a écrit dans le message de news:
cntl H (remplacer)
chercher . (point) remplacer par , (virgule) remplacer tout
possible de se limiter à quelques colonnes seulement (suffit de cliquer sur la tête de colonne avant de faire le cntl H)
(Pas besoin d'inventer des macros quand il existe des fonctions de base qui font le boulot)
re , certe normalement c'est la solution mais kan on l'utilise avec une
macro qui ouvre un fichier txt; les virgules ne sont pas bien
transcritent...c'est surtout pour ça que la méthodes données sont plus
tordues
"2B or not 2B" <thatistherespons@libertysurf.fr> a écrit dans le message de
news:Oc7lPpW9DHA.1816@TK2MSFTNGP12.phx.gbl...
cntl H (remplacer)
chercher . (point)
remplacer par , (virgule)
remplacer tout
possible de se limiter à quelques colonnes seulement (suffit de cliquer
sur la tête de colonne avant de faire le cntl H)
(Pas besoin d'inventer des macros quand il existe des fonctions de base
qui font le boulot)
re , certe normalement c'est la solution mais kan on l'utilise avec une macro qui ouvre un fichier txt; les virgules ne sont pas bien transcritent...c'est surtout pour ça que la méthodes données sont plus tordues
"2B or not 2B" a écrit dans le message de news:
cntl H (remplacer)
chercher . (point) remplacer par , (virgule) remplacer tout
possible de se limiter à quelques colonnes seulement (suffit de cliquer sur la tête de colonne avant de faire le cntl H)
(Pas besoin d'inventer des macros quand il existe des fonctions de base qui font le boulot)