XL 2013 transformer un nombre avec des point en format monétaire via une macro

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 !

yohann74

XLDnaute Nouveau
Bonjour à toutes et tous,

suite à un import en .cvs, j'ai une colonne de chiffre avec des points du type 1.054,38 et je souhaitais la convertir en nombre monétaire €. J'ai donc fais cela via "enregistrer une macro, et là nickel cela fonctionne j'arrive au résultat 1 054,38€. Mais quand je fais tourner cette macro là ça ne fonctionne plus cela donne 1 054,38 mais sans € je ne dois pas être en format monétaire, pourtant cela n'est que l'exécution de la macro que j'ai fait avec "enregistrer une macro.
Voici le code que cela donne :
Columns("I:I").Select
Selection.Replace What:=".", Replacement:=" ", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Columns("I:I").Select
Selection.Style = "Currency"
Merci d'avance pour votre aide.
Yohann74
 
Re : transformer un nombre avec des point en format monétaire via une macro

Bonjour yohann74.

Vous remplacez du texte par du texte. Un format n'y fera rien : multipliez(ou divisez) les résultats obtenus par 1, ou ajoutez(ou soustrayez)-leur 0.

Edit : Bonjour, R@chid 🙂
 
Re : transformer un nombre avec des point en format monétaire via une macro

Merci de vos retour, mais cela marche quand je le fais manuelement , mais intégré à une macro cela ne fonctionne pas.
La solution de R@chid marche presque intégré à une macro sauf pour les petits nombre <1000 ?

cela donne cela en code VBA
Columns("I:I").Select
Selection.TextToColumns Destination:=Range("I1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), ThousandsSeparator:=".", TrailingMinusNumbers:=True
Selection.Style = "Currency"
Application.WindowState = xlMinimized
Application.WindowState = xlNormal
End Sub
Merci
 
Re : transformer un nombre avec des point en format monétaire via une macro

Bonjour à tous.

Essaie :

Code:
 Columns("I:I").Select
    
   Selection.Style = "Currency"

'Supprimer le séparateur de milliers
    Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
  
'   
    Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
 
Re : transformer un nombre avec des point en format monétaire via une macro

Merci Docmarti, c'est exactement ce que je souhaitais.
Mais estce que tu sais pourquoi quand on fait la manip remplacer . par vide et après touche € pour enregistrer "enregistrer une macro" cela fonctionne mais quand on lance cette même macro cela ne fonctionne plus ? c'est juste par curiosité, il ne doit pas traduire en VBA exactement les actions faites ?
En tout cas merci.
 
Re : transformer un nombre avec des point en format monétaire via une macro

Mais est ce que tu sais pourquoi quand on fait la manip remplacer . par vide et après touche € pour enregistrer "enregistrer une macro" cela fonctionne mais quand on lance cette même macro cela ne fonctionne plus ?
En tout cas merci.

Si tu obtiens cela en manuel, c'est que les données sont déjà du type Double, parce que le fait de changer le format de la cellule ne modifie pas le type des données.

Il faudrait que tu envoies un classeur avec un mini exemple qui produit ce résultat en manuel et pas en VBA pour qu'on puisses en trouver la raison.


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

Discussions similaires

Réponses
12
Affichages
804
Retour