[Word]Perte de format

Fermé
John - 9 juil. 2007 à 11:27
 Cybercraft - 11 déc. 2009 à 10:48
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
A voir également:

14 réponses

MERGEFIELD Nom_du_champ \@ "dd/mm/yyyy"
3
m@rina Messages postés 20418 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 22 juin 2024 11 297
10 juil. 2007 à 17:19
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
m@rina Messages postés 20418 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 22 juin 2024 11 297
10 juil. 2007 à 15:31
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 20418 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 22 juin 2024 11 297
10 juil. 2007 à 16:56
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
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
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
m@rina Messages postés 20418 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 22 juin 2024 11 297
11 juil. 2007 à 10:30
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
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
m@rina Messages postés 20418 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 22 juin 2024 11 297
11 juil. 2007 à 15:12
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
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
m@rina Messages postés 20418 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 22 juin 2024 11 297
12 juil. 2007 à 15:24
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
Tout ceci est geniale je te remerci enormement
John l
0
Zut....
Ca ne semble pas passer, pourrait poster un exemple complet,
Je te remercie encore
john
0