Modification de format

  • Initiateur de la discussion Initiateur de la discussion David
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
347
Réponses
2
Affichages
589
A
Réponses
4
Affichages
668
A
E
Réponses
5
Affichages
2 K
EDI9366
E
Réponses
3
Affichages
639
Retour