Bonjour chers membres de ce forum,
Contexte : Il m'arrive de télécharger des documents contenant des "devises" ayant une mise en forme à l'anglaise, mon logiciel excel n'est pas capable de comprendre que ce sont des chiffres et l'assimile à du texte. J'aimerais écrire une macro VBA capable d'agir sur ma sélection pour transformer ces chiffres en devises ayant une mise en forme française.
Ma requête : Modifier les chiffres de ma sélection d'une mise en forme anglaise (€123,666.42) à une mise en forme française (123 666,42€).
Figurez-vous que j'avais presque réussie, mais je me retrouve avec une erreur étrange.
1 - Ma macro pas folle mais qui fonctionnerait presque
Pour des cellules ayant un nombre comme €123,666.42
Ca fonctionne presque, SEULEMENT:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 'Le but étant de changer la mise en forme anglaise d'un nombre par la mise en forme française Set MaSelection = Selection MaSelection.Replace What:="", Replacement:="" 'Je vire le par rien MaSelection.Replace What:=",", Replacement:="" 'Je vire la virgulre par rien MaSelection.Replace What:=".", Replacement:="," 'Je remplace le point par une virgule MaSelection.Style = "Currency" 'J'essaye péniblement d'indiquer à excel que c'est une devise (histoire de faire réaparraitre le "" et avoir un espace comme séparateur de milliers).
2- Excel comprend ce chiffre comme du texte
Tout est rangé comme je le souhaitais mais ce chiffre est compris comme du "texte" par Excel. Or, il est hors de question pour le petit employé un peu avancé sur excel que je suis de faire ce boulot à la souris "Conver to Number" sur tous les chiffres.
Avez-vous une solution à mon problème 2 ? Ou avez-vous une solution plus simple peut-être ?
En vous remerciant,
Ylaff
Partager