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 :

Préservation du format des données de type monétaire lors de l'import depuis Excel [WD-365]


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Mars 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Préservation du format des données de type monétaire lors de l'import depuis Excel
    Bonjour à tous,

    Je développe fréquemment des solutions impliquant une automation Word <-> Excel.

    Je rencontre un problème lors de l'export de données financières d'un classeur Excel dans les tableaux d'un document Word : les décimales des nombres entiers tels que "1 000,00 €" (format de cellule monétaire dans Excel) disparaissent invariablement pour donner "1 000 €" dans mon tableau, alors que "1 000,26 €" ne pose aucun problème.

    Voici mon code pour cette opération d'export, en me limitant à une cellule d'exemple (la valeur de la cellule "B2" de la feuille appelée "Chiffrage" est exportée dans le 5e tableau du document, ligne 3, colonne 2) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub ExportDocWord()
     
    Dim ExcelApp As Excel.Application
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim ExcelWb As Excel.Workbook
     
    'Création instance Word
    Set WordApp = New Word.Application
     
    'Affiche Word pendant l'opération
    WordApp.Visible = True
     
    'Ouvre le modèle Word
    Set WordDoc = WordApp.Documents.Add("C:\[...].docx")
     
    With WordDoc
    .Tables(5).Cell(3, 2).Range = Sheets("Chiffrage").Range("B2")
    ' Et ainsi de suite
    End With
    Seule option que je voie spontanément : affecter la valeur de la cellule Excel à une propriété personnalisée de type nombre dans le document, insérée dans la cellule du tableau Word ; je fonctionne très souvent avec les CustomDocumentProperties pour automatiser mes process, mais c'est plus long et plus contraignant.

    Quelqu'un a-t-il une idée pour préserver le format monétaire des données lors de cette opération de "réécriture" simple des valeurs Excel dans les cellules de tableaux Word ?

    Merci d'avance pour votre aide, bonne journée.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dr Matou Voir le message
    Bonjour,

    Est-ce que cette syntaxe fonctionne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    With WordDoc
     
            If IsNumeric(Sheets("Chiffrage").Range("B2")) Then 
               .Tables(5).Cell(3, 2).Range  = Format(CDbl(Sheets("Chiffrage").Range("B2")), "# ###.00") & " €"
            End If
     
    End With

  3. #3
    Membre à l'essai
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Mars 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Bonjour Eric,

    En effet il semble que cela fonctionne très bien !

    Merci beaucoup votre aide précieuse.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/03/2015, 09h15
  2. Réponses: 8
    Dernier message: 01/06/2014, 15h49
  3. [Access] Enregistrer des données de type Texte RTF
    Par portu dans le forum Bases de données
    Réponses: 22
    Dernier message: 27/10/2005, 22h54
  4. Réponses: 5
    Dernier message: 13/07/2005, 10h03
  5. [format des données avec une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 10/03/2005, 13h24

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