IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Ecrire des chiffres en lettres [WD-2003]


Sujet :

VBA Word

  1. #1
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut Ecrire des chiffres en lettres


    J'ai un petit souci :

    Sur Word je récupère des données depuis Access.
    J'ai un champ en chiffres que je veus mettre en lettres avec le code champ suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {MERGEFIELD « Montant »\*CardText}
    Mais il y a un problème : ça ne tient pas compte des décimales

    729,11 devient sept cent vingt-neuf.
    Il me manque donc les décimales

    de plus, s'il y a moyen d'écrire sept cent vingt-sept euros et onze cts se serrait cool

    Comment faire ???

  2. #2
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut FC31,

    En effet, Word ne prend pas en compte les décimales (dans ce cas) ==>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       { MERGEFIELD « Montant »\*CardText }
    doit s'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       { MERGEFIELD "Montant" \*CardText } euros et {=({ MERGEFIELD "Montant" } - INT({ MERGEFIELD "Montant" }))*100 \* CardText } cts
    J'ai mis le texte en vert, les champs de 1er niveau en orange et les champs inclus dans les champs en rouge pour les mettre en évidence

    @+

  3. #3
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Merci de ta réponse

    J'ai pas essayé encore (je pourrais le faire que demain)

    Mais comment ne pas écrire "cts" si il n'y a pas de décimale
    Et si il n'y a pas de décimal il serrai aussi inutile d'écrire "et"


    Je vais d'abord essayer ton code et je verrais plus tard

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Avec des champs If sur le résultat des décimales.

  5. #5
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut FC31,

    N'oublie pas alors de gérer le cas de 1 euro (sans s)

    @+

  6. #6
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par Sepia Voir le message
    [code] { MERGEFIELD "Montant" \*CardText } euros et {=({ MERGEFIELD "Montant" } - INT({ MERGEFIELD "Montant" }))*100 \* CardText } cts
    J'ai essayé mais je sais pas pourquoi (peut être parce que je ne maitrise pas les champs dans Word) mais sa marche pas : j'ai du mal faire un truc

    Les champs venant d'une requête d'Access, j'ai rajouté un champ dans la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expr1: ([Mt_Montant]-Ent(Mt_Montant]))*100
    et insèrer le champ dans Word avec et sa marche.

    J'ai donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      {MERGEFIELD "Mt_Montant"\*CardText} euros et { MERGEFIELD "Expr1"\*CardText } cts
    Par contre si les décimale = "00", j'ai "zéro cts" mais c'est pas grave on ferra avec

    Mais si toutefois, vous auriez la solution avec If sa m'intéresse beaucoup

    Citation Envoyé par Sepia Voir le message
    N'oublie pas alors de gérer le cas de 1 euro (sans s)
    c'est pas grave, de toute façon comme vous avez pu le constaté je suis nul en orthographe

    PS-Je met pas de suite pour avoir (j'espère) une réponse principalement sur le IF

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926

  8. #8
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut FCL31,

    Citation Envoyé par FCL31 Voir le message
    J'ai essayé mais je sais pas pourquoi (peut être parce que je ne maitrise pas les champs dans Word) mais sa marche pas : j'ai du mal faire un truc
    Peut-être n'as-tu utiliser l'instruction "Insertion > Champ" qui insère les fameuses pseudo-parenthèses ouvrantes et fermantes ? C'est souvent la source du problème car j'ai ré-essayer mon code (pour être sûr), il fonctionne (sur mon Word).

    Tu as modifé la source, ce qui est aussi une solution (mais toujours réalisable). Si tu désires le fichier avec les champs, je peux te le mettre ne copie à titre d'information.

    @+

  9. #9
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Merci

    Citation Envoyé par Sepia Voir le message
    Peut-être n'as-tu utiliser l'instruction "Insertion > Champ" qui insère les fameuses pseudo-parenthèses ouvrantes et fermantes ?
    J'ai fait avec "Ctrl + F9"


    Citation Envoyé par Sepia Voir le message
    Si tu désires le fichier avec les champs, je peux te le mettre ne copie à titre d'information.
    Je veux bien STP

  10. #10
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut,

    voilà un exemple.

    @+

  11. #11
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Merci Sepia je vais regarder ton exemple minutieusement et je le garde de coté.



+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir des chiffres en lettres
    Par azde7015 dans le forum VBA Access
    Réponses: 16
    Dernier message: 19/05/2019, 15h16
  2. convertion des chiffre en lettre
    Par maroon1970 dans le forum Windows Forms
    Réponses: 12
    Dernier message: 23/05/2007, 17h03
  3. Ecrire des chiffres en toutes lettres
    Par ali_Imouzzer dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 21/02/2007, 18h44
  4. composant pour convzrtir des chiffres en lettres
    Par ouldfella dans le forum Composants VCL
    Réponses: 6
    Dernier message: 01/06/2006, 11h40
  5. composant qui convertis des chiffres en lettre sous Delphi?
    Par ouldfella dans le forum Composants VCL
    Réponses: 2
    Dernier message: 22/03/2006, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo