Problème de séparateur décimal

KIM

XLDnaute Accro
Bonjour les ami(e)s, & le Forum,
Je récupère des fichiers excel générés par un outil externe avec comme séparateur décimal le point ".".
Le séparateur décimal défini au niveau du système XP est la virgule ",".
Dans les options d'excel onglet "International" , j'ai coché "Utiliser les séparateurs système

Si j'ouvre ce fichier excel, il ne reconnait pas les nombres et les cellules deviennent du texte. Il faut que je change le "." en virgule "," .
Par contre, avant d'ouvrir ce fichier excel, je modifie le séparateur décimal dans excel c-à-d :
- je décoche "Utiliser les séparateurs système"
- je déclare le point "." comme séparateur décimal
et j'ouvre mon fichier excel. Là il reconnait le séparateur décimal et les cellules deviennent des nombres.

- Si je coche de nouveau "Utiliser les séparateurs système" dans les options d'excel, le point "." devient virgule dans les cellules.

Si par mégarde j'ouvre le fichier excel avant de positionner le séparateur décimal, la logique ci-dessus ne fonctionne plus.

J'ai beaucoup de plans que je récupère dans un seul fichier excel par vba. Est-il possible de modifier les options d'excel par vba selon la logique ci-dessous :
Au lancement du code et avant la lecture des fichiers excel faire:
- décocher "Utiliser les séparateurs système"
- déclarer le point "." comme séparateur décimal
- importer les fichiers dans le classeur courant
- sauvegarder le fichier lu et le classeur courant
- et après remettre les options d'excel d'origine : Cocher "Utiliser les séparateurs système"

Votre code sera intégré avant même la lecture de ces fichiers excel.

Merci de votre aide
KIM
 

KIM

XLDnaute Accro
Re : Problème de séparateur décimal

Bonjour Pierot93, & le forum
J'ai testé manuellement en copiant la feuille du fichier source dans un nouveau classeur et en remplaçant le "." par une ",", cela fonctionne.
As-tu un code pour tester?

Merci d'avance
KIM
 

JCGL

XLDnaute Barbatruc
Re : Problème de séparateur décimal

Bonjour à tous,
Salut Pierrot,
Salut Kim,

Peux-tu essayer avec :

Code:
Option Explicit

Sub Remplace()
    ActiveSheet.Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart
End Sub

A+ à tous
 

KIM

XLDnaute Accro
Re : Problème de séparateur décimal

Bonjour JCGL, Pierrot93 et le forum,
@JCGL, merci por ta réponse. Je l'ai testée. Manuellement la conversion se fait correctement et les cellules deviennent des nombres que je peux traiter. Par contre si lance la macro, le contenu des cellules deviennent du texte impossible de les traiter. voir fichier ci-joint.

merci d'avance
KIM
 

Pièces jointes

  • TestFormat.zip
    13.5 KB · Affichages: 59

KIM

XLDnaute Accro
Re : Problème de séparateur décimal

Re, à tous,
Désolé JCGL, je ne comprends plus, ci-joint le fichier résultat après exécution de la macro. le fichier source est toujours source1.xls.
merci d'avance
KIM
 

Pièces jointes

  • test2.xls
    36.5 KB · Affichages: 75
  • test2.xls
    36.5 KB · Affichages: 74
  • test2.xls
    36.5 KB · Affichages: 79

Pierrot93

XLDnaute Barbatruc
Re : Problème de séparateur décimal

Bonjour Kim,
Bonjour Jean-Claude:)

Je récupère des fichiers excel générés par un outil externe avec comme séparateur décimal le point ".".
ton outil, génère directement un xls ou bien un csv ? comment tu importes tes données ? Une macro, un copier / coller ?

bonne journée
@+
 
Dernière édition:

KIM

XLDnaute Accro
Re : Problème de séparateur décimal

Bonjour à tou(te)s,
@Pierrot93,
L'outil génère un xls avec un point comme séparateur décimal. Je ne peux pas modifier cet export. J'en ai presque 1500 xls que j'importe via une macro (merci le forum). C'est pour cela je suis à la recherche d'un code vba pour, à l'import de chaque fichier, il me trasnforme le "." en virgule pour que certaines colonnes deviennent du numérique à traiter.
Merci d'avance
KIM
 

Discussions similaires

Réponses
2
Affichages
452

Statistiques des forums

Discussions
312 215
Messages
2 086 332
Membres
103 188
dernier inscrit
evebar