[Word]Perte de format

John -  
 Cybercraft -
Bonjour a tous,
Mon soucis est le suivant si qqun a une idee
Lors d'une fusion de donnee de excel vers word
je perds le format nombre (la separtion de millier) dans word

merci d'avance
John
Configuration: Windows XP
Internet Explorer 6.0

14 réponses

  1. Cybercraft
     
    MERGEFIELD Nom_du_champ \@ "dd/mm/yyyy"
    3
  2. m@rina Messages postés 27638 Date d'inscription   Statut Modérateur Dernière intervention   11 566
     
    Bon OK.

    Tu utilises le format américain et dans Word tu récupères un format français... Comment sont réglées tes options régionales et linguistiques (Panneau de configuration).

    Dans Word, la langue doit être définie en anglais. Je te conseille néanmoins de mettre les commutateurs de format, en américain :
    # "#,##0.00"

    Si tu ne veux pas appuyer sur les touches ALT + F9, je peux pas t'expliquer plus !!!

    m@rina
    1
  3. m@rina Messages postés 27638 Date d'inscription   Statut Modérateur Dernière intervention   11 566
     
    Bonjour,

    Comment est ton format dans Excel ?
    Word ne reprend pas les formats Excel.

    Tu peux dans Word ajouter un commutateur de format numérique dans ton champ MERGEFIELD :
    ex :

    {MERGEFIELD Montant \# "# ##0,00" }

    Pour visualiser les champs, c'est ALT +F9

    m@rina
    0
  4. john
     
    Merci pour ton aide
    Dans excel, les formats utilisee sont number et date.
    //Pourrais tu preciser pour mergefield je ne connais pas//
    merci bhcp
    john
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. m@rina Messages postés 27638 Date d'inscription   Statut Modérateur Dernière intervention   11 566
     
    re...

    Comme je t'ai dit, tu dois visualiser les champs en appuyant sur ALT + F9

    Dans le champ du nombre, tu ajoutes le commutateur \# "# ##0,00"

    de façon à obtenir : {MERGEFIELD nom_du_champ \# "# ##0,00" }

    Maintenant, je n'ai pas bien compris ce que tu as dans Excel et ce que tu veux obtenir dans Word...
    Teste néanmoins la solution que je t'ai donnée.

    m@rina
    0
  7. john
     
    Oki
    Je possede des donnee sur excel que je transfert sur word par le moyen de vba en utilisant les signets, seulement les formats de excels ne suivent pas de excels vers word
    ( la date au format 10 july 2007 redevient 10/07/07 ou alors les nombre du style 2,300.00 deviennnent 2300)
    merci bcp et j'espere que l'explquation est plus claire.

    john
    ps: les mergefields e n'est rien compris :-(
    0
  8. john
     
    Dear,
    Toutes mes optiions linguistiques programmes et windows sont en amglais donc pas de problemes de ce niveau la. ;)

    Bien entendu je sais appuer sur alt+ f9 et j'ai bien entendu placer {MERGEFIELD champ\# "#,##0.00" }
    Sachant que champ est le signets ou les donnees en format nombre seront transferer a l'activation de la macro.
    Malheureusement, les nombres ne se mettent pas au format demandee et meme pire ils ne s'affiche plus.

    Merci pour ton temps

    john
    0
  9. m@rina Messages postés 27638 Date d'inscription   Statut Modérateur Dernière intervention   11 566
     
    Hello,

    Je pense que le problème est au niveau de la macro... Surtout que ce qui me fait sourire c'est que le problème récurrent est l'inverse du tien : environnement français, et nombres mis au format anglais dans word après une fusion !!

    m@rina
    0
  10. john
     
    Merci,
    Saurais tu ou ce trouve le probleme dans la macro???
    Mais apres cou je pense qu'il faut juste appliquer un format dans word, saurais-tu comment on fait???
    0
  11. m@rina Messages postés 27638 Date d'inscription   Statut Modérateur Dernière intervention   11 566
     
    Euh... sans voir le code, j'aurais dû mal à savoir si le problème vient réellement de la macro.
    Ça peut venir aussi du protocole... Je ne sais pas si tu utilises OLE ou DDE...
    Pas facile à voir tout ça !:(

    m@rina
    0
  12. john
     
    Dear,
    En gros j'utilise ce genre de commande pour envoyer mes donnee je ne vais pas plus loin lol

    Sub fusion()
    'nécéssite d'activer la référence Microsoft Word xx.x Object Library
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document

    Set WordApp = CreateObject("word.application") 'ouvre session word
    Set WordDoc = WordApp.Documents.Open("Chemin du fichier type .doc") 'ouvre document Word
    WordApp.Visible = False

    WordDoc.Bookmarks("nbredecomp1").Range.Text = Cells(8, 2)

    WordApp.Visible = True 'affiche le document Word

    End Sub

    Je ne sait pas si ca peut t'eclairer...

    john

    ps: En passant comment on choisi un format automatique pour les nombres du style 12,145.23 et pour les dates qui transforme 12/03/07 en 13 Mars 2007
    thks
    0
  13. m@rina Messages postés 27638 Date d'inscription   Statut Modérateur Dernière intervention   11 566
     
    Hello John,

    Ben heureusement que tu as mis la macro, car nous n'étions pas du tout sur la même longueur d'onde...
    En effet, bien que tu aies vaguement parlé de signet, j'avais surtout retenu "Fusion".
    Or, il ne s'agit aucunement de fusion, mais simplement d'affecter une valeur d'une cellule Excel à un signet Word...

    Donc, oublie tout ce que j'ai dit jusqu'à présent !

    Tu peux forcer dans la macro les formats.
    Par exemple :

    madate = Format(Date, "yyyy/MM/dd")
    ActiveDocument.Bookmarks("toto").Range.Text = madate
    
    montant = Format(6000.4, "##,##0.00")
    ActiveDocument.Bookmarks("montant").Range.Text = montant

    Il faudrait qu'à la place de "Date" et de 6000,4, tu mettes tes variables excel.

    m@rina
    0
  14. JOHN
     
    Tout ceci est geniale je te remerci enormement
    John l
    0
  15. JOHN
     
    Zut....
    Ca ne semble pas passer, pourrait poster un exemple complet,
    Je te remercie encore
    john
    0