Rechercher : dans
Par :

Remplacement point par virgule avec VBA

Dernière réponse le 30 jan 2009 à 19:02:24 boggg, le 3 jan 2008 à 16:01:05 
 Signaler ce message aux modérateurs

Bonjour,

Pour ceux qui connaissent vba excel,

j'ai fait une macro très simple qui sélectionne feuille et qui remplace les points par des virgules,

quand on le fait "à la main" (Edition/Remplacer, etc) cela marche très bien.

Par contre avec la macro, qui décrit en effet l'action décrite ci-avant, ne marche pas.

Par exemple pour les numéro du type : 1.27365e+006
la macro les transforme en : 127365000000

voila la macro, elle est très simple :

Sub pv3()

Cells.Select
Application.CutCopyMode = False
Selection.NumberFormat = "General"
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

End Sub


Je vous remercie d'avance pour votre réponse

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « remplacement point par virgule avec VBA » dans :
Quelques règles typographiques VoirPonctuation : les règles typographiques à respecter Point . Virgule , Point-virgule ; Deux-points : Point d'interrogation ? Point d'exclamation ! Points de suspension ... Parenthèses ( ) Guillemets « » Crochets Tiret long...
Exporter à coup sûr du CSV VoirExporter des données au format CSV n'est pas si trivial qu'il n'y paraît. Dès que vos données contiennent des virgules ou des guillemets, tout semble partir en vrille. Il y a une astuce. Voici comment procéder pour exporter à coup sûr vos...
Sed - Introduction à SED - Part III VoirSED - The Stream EDitor - Part III Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Fichier CSV VoirFormat CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...
Caractéristiques du langage Php VoirL'interprétation du code Un code PHP (celui compris entre les délimiteurs ) est un ensemble d'instructions se terminant chacune par un point-virgule (comme en langage C). Lorsque le code est interprété, les espaces, retours chariot et...

1

boggg, le 3 jan 2008 à 16:34:15

Personne ?? :( :(

Répondre à boggg

2

le père, le 3 jan 2008 à 16:48:54

Bonjour

J'ai fait pas mal d'essais. Malheureusement, je ne peux que constater la bizarrerie, pour ne pas dire le bug.
:( aussi

Répondre à le père

3

Lupin.A, le 3 jan 2008 à 18:59:11

Bonjour,

suggestion :

Sub pv3()

    Cells.Select
    Selection.NumberFormat = "0.00000E+000"
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
                                  SearchOrder:=xlByRows, MatchCase:=False
    Cells(1, 1).Select

End Sub
'

Lupin

Répondre à Lupin.A

4

boggg, le 4 jan 2008 à 11:01:27

Bonjour,
merci pour ta suggestion,
je l'ai essayée mais la macro fait la même chose (ajoute les 6 zéros) même si on change
d'avantage le format numérique des cellules.
Je l'avais déjà essayé, pas avec un format personnalisé mais avec le format Standard, mais tjrs la même chose.

Mais encore une fois merci pour ta proposition.

boggg

Répondre à boggg

5

Moi, le 22 jui 2008 à 14:30:48
  • +2

Le sujet est sûrement clos, mais pour les suivants qui en auront besoin :

Il faut remplacer le point par un point dans la macro. Dans mon cas :

Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Répondre à Moi

7

intéressée, le 19 nov 2008 à 17:39:36

Merci !!!!!!!!! ça fait super longtemps que je cherche, et la réponse n'est pas évidente... Merci encore d'avoir répondu à ce post, ça tombe super bien pour moi.

Répondre à intéressée

6

Stéphane, le 10 sep 2008 à 10:21:32

Salut,

merci cela un bon moment que j' m'arrache les cheveux avec cette fonction, et les différents forum!
Encore merci d'avoir fait le nouveau post!

Répondre à Stéphane

8

 TONIO, le 30 jan 2009 à 19:02:24

Voila une solution qui marche et que j'ai cherché longtemps .......

# Sub Remplace()
# For Each cell In Selection
# If InStr(1, cell.Text, ".") > 0 Then
# cell.Value = CDbl(Val(cell.Text))
# End If
# Next
# End Sub

Répondre à TONIO
Collection CommentÇaMarche.net