Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Convertir des valeurs monétaires format texte en valeurs monétaires françaises.

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 !

MCOTTEND

XLDnaute Nouveau
Bonjour à toutes et Tous,

Je coince sur un problème de VBA qui va paraître idiot à certains et certaines.
Je dois convertir les valeurs texte de forme 1234.6 en valeurs monétaires de forme 1234,60 € dans plus de 150 fichiers tel que celui joint en exemple.
Malgré de nombreux essais, je ne trouve pas de solution pour ce travail.
Est-ce quelqu'un du forum aurait une solution ?
Je vous remercie par avance de votre aide.
Cordialement.
Michel
 

Pièces jointes

Bonjour Mcottend,
Un essai en PJ avec :
VB:
Sub Convertir()
    Application.ScreenUpdating = False
    With Columns("C:F")
        .NumberFormat = "#,##0.00 $"
        .Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        .Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    End With
    [A1].Select
End Sub
 

Pièces jointes

Bonsoir à toutes et tous 🙂,

Une autre tentative de traitement en masse.

J'ai considéré que les colonnes à formater sont toujours sur la première feuille et sont les colonnes D à F.
  • ouvrir dans Excel, un certain nombre de fichier à traiter. A partir de l'explorateur, on peut en ouvrir plusieurs à la fois (sélectionner les noms des fichiers puis cliquer-droit/Ouvrir)
  • ouvrir le fichier joint
  • cliquer sur le bouton Hop!
le code est dans module1.
 

Pièces jointes

Dernière édition:
Bonjour,

En H2 et à tirer à droite et vers le bas
VB:
=SIERREUR(SUBSTITUE(D2;".";",")*1;"")

Cdlt
Merci pour votre aide et proposition.
Elle fonctionne très bien.
Bonjour,

En H2 et à tirer à droite et vers le bas
VB:
=SIERREUR(SUBSTITUE(D2;".";",")*1;"")

Cdlt
Merci de votre aide.
Je viens de tester votre proposition. Elle fonctionne à merveille.
Bonjour,

En H2 et à tirer à droite et vers le bas
VB:
=SIERREUR(SUBSTITUE(D2;".";",")*1;"")

Cdlt
Merci à vous.
Je viens de tester votre proposition. Elle fonctionne très bien.
Toutefois, je vais intégrer le script vba proposé par Barbatruc puisque derrière j'ai toute une mise en page déjà programmée qui elle ne m'avais pas posée problème.
Bonne soirée.
Cordialement.
Michel
 
Bonjour à tous,

@sylvanu le remplacement du point par... le point suffit :
VB:
Sub Convertir()
With Columns("C:F")
    .NumberFormat = "#,##0.00 $"
    .Replace ".", ".", xlPart
End With
End Sub
A+
Merci à vous.
Je viens de tester votre proposition. Elle fonctionne très bien.
Je vais l'intégrer dans mon script vba de mise en page que j'ai déjà programmé qui ne m'avais pas posé problème.
Bonne soirée.
Cordialement.
Michel
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…