Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[VBA] Transformer les points de plusieurs colonnes en virgules

napo124

XLDnaute Junior
Bonjour,

Je développe un petit outil qui récupère des données d'un fichier sources en les copiant/collant dans un nouvel onglet d'un nouveau fichier.

Problème, les données d'origines sont de la forme "354.00000" au lieu de 354 ou "45.020000" au lieu de 45,02.
Utiliser la fonction Rechercher et replacer "." par "," fonctionne parfaitement pour corriger ce problème de manière manuelle.

Mais en faisant la même action en vba (enregistreur de macro), le résultat est assez desastreux.

Les chiffres sont transformés en 354 000 000 000 et l'astuce ne fonctionne plus.

Connaissez vous le code correspondant pour remplacer les "." par des "," dans plusieurs colonnes ?

Merci de votre aide !
 

joss56

XLDnaute Accro
Re : [VBA] Transformer les points de plusieurs colonnes en virgules

Bonjour

Essaye avec ce code:
Code:
Private Sub CommandButton1_Click()

    lig = 1
        Do While Cells(lig, 1) <> ""
            Cells(lig, 1) = Replace(Cells(lig, 1), ".", ",")
            Cells(lig, 1) = CDbl(Cells(lig, 1))
            lig = lig + 1
        Loop
        
End Sub
Il balaie toutes les cellules de la colonnes A

Jocelyn
 

job75

XLDnaute Barbatruc
Re : [VBA] Transformer les points de plusieurs colonnes en virgules

Bonjour,

En VBA, remplacer le point par... le point :

Code:
Sub Point()
Cells.Replace ".", ".", xlPart
End Sub
A+
 

napo124

XLDnaute Junior
Re : [VBA] Transformer les points de plusieurs colonnes en virgules

Bonjour à tous !

Merci de vos réponses!

Vos solutions ont fonctionné mais étaient incomplètes

Private Sub CommandButton1_Click()


J'ai simplement divisé le résultat pour revenir à l'unité voulu...

Merci à vous
 

job75

XLDnaute Barbatruc
Re : [VBA] Transformer les points de plusieurs colonnes en virgules

Bonjour le fil, salut Marc

très mauvaise idée (...)

Oui, et apparemment notre ami n'a pas compris qu'il ne faut pas en VBA remplacer le point par la virgule.

Voir mon post #3...

Edit : bien sûr il ne faut pas que la colonne A soit au format Texte si l'on veut des nombres !!

A+
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Transformer les points de plusieurs colonnes en virgules

Bonjour à tous

une autre approche serait de passer par la conversion de données lors de l'importation....

bon après midi
@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…