Modification de format

D

David

Guest
Bonjour à toutes et à tous.

Je fais des extractions du logiciel SAP sur EXcel et comme vous pouvez vous en doutez, ça me fais des trucs bizarres.

Entre autre, Lors qu'un chiffre est supérieur à 1000 il me le met sous la forme suivante:

1.000,000 ce que m'embete un peu :)

J'ai essayé de le modifier avec le code suivant:
Code:
Range('E20:E50').Select
    Selection.Replace What:='.', Replacement:='', LookAt:=xlPart, _
      SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
Il me remplace bien le . par un vide mais il me remplace également la virgule par un vide, ce qui me donne 1000000 à la place de 1000.

Avez-Vous une solution?

David
 
D

David

Guest
Bonjour SergiO

Oui j'ai déjà essayé et ça marche parfaitement, mais je souhaite le faire par macro.

J'ai donc utilisé l'enregistrement de macro en faisant la manip que tu as cité. (manip qui fonctionne ).

Mais quand je réexécute la macro ça déconne.
Alors je comprend pas pourquoi.

David
 
D

David

Guest
Re SergiO

Merci mais çà me supprime quand même les virgules.

Je te passe mon fichier test.

Merci d'avance

David


[file name=TESTDAVID.zip size=7047]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TESTDAVID.zip[/file]
 

Pièces jointes

  • TESTDAVID.zip
    6.9 KB · Affichages: 22
  • TESTDAVID.zip
    6.9 KB · Affichages: 23
  • TESTDAVID.zip
    6.9 KB · Affichages: 22

jp14

XLDnaute Barbatruc
Bonsoir David
Bonsoir le Forum

Ci joint un fichier avec des formules pour résoudre le problème

Bon courage [file name=TestDavid_20060117175138.zip size=8874]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TestDavid_20060117175138.zip[/file]
 

Pièces jointes

  • TestDavid_20060117175138.zip
    8.7 KB · Affichages: 33

jp14

XLDnaute Barbatruc
Bonjour David


Le problème provenait de la confusion entre le point ( code ascii 46) et la virgule (code ascii 44).
Le point du clavier numérique est vu sur l'écran en fonction du choix qui est fait dans les paramètres régionaux.
Donc pour faire la conversion des données il faut faire comme si les valeurs étaient saisies au clavier.
Donc pour faire la transformation il faut éliminer le premier séparateur, et le deuxième le transformer en point.
a = a1 & a3 & a4 & a5 & Chr$(46) & ....

Le problème sous jacent est le nombre de chiffre dans la valeur numérique à transformer.

J'ai transformé la macro pour tenir compte de ce fait.
La fonction Len donne la longueur du texte.
On décompose avec la fonction MID la valeur et on teste chaque caractère.

Si chiffre on le garde (concaténation pour recomposer le nombre)
Si espace ou point on supprime
Si virgule on met un point.

J'espère avoir répondu à ta question.

Ci joint fichier modifié [file name=TestDavid3.zip size=13435]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TestDavid3.zip[/file]
 

Pièces jointes

  • TestDavid3.zip
    13.1 KB · Affichages: 37

Discussions similaires

Réponses
1
Affichages
135

Statistiques des forums

Discussions
312 487
Messages
2 088 825
Membres
103 971
dernier inscrit
abdazee