Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/11/2011, 18h05   #1
Invité de passage
 
Homme
Assistant aux utilisateurs
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Assistant aux utilisateurs
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut Transfert de données Excel>Word en Vba

Bonjour,

Je bute sur une difficulté que je n'arrive pas à surpasser.
J'ai développé sous Excel 2000 un petit utilitaire qui réalise des calculs à partir
de table de référence. Rien de bien compliqué.
Ensuite je transfère les résultats qui sont sous forme de tableaux formatés (3 exactement) dans un document word
différents en fonction du nombre de lignes des tableaux. J'utilise des commandes DDE. Tout fonctionne à merveille depuis 2001.
Je viens de passer sur Office 2010 et les macro fonctionnent toujours mais lors du transfert
entre Excel et word, toutes les sommes ####,## € deviennent $ #,###.##.
Vous comprenez mon inquiétude !!!
J'ai essayer sur plusieurs machines, idem; j'ai vérifier les paramétres linguistiques de Windows, les paramètres d'Excel et de Word.
Tout semble correct, ne reste plus que l'échange en DDE entre Excel et Word.

Voici ce que j'ai comme code qui fonctionne en 2000 (les déclarations de variables étant réalisées en "Public" )

Code :
1
2
3
4
5
6
7
Set wrd = CreateObject("Word.Application")
wrd.Visible = True
Set wrdDoc = wrd.Documents.Open("C:\Mes Documents\Devis.doc")
numcanal=Application.DDEInitiate(app:="WinWord", topic:="C:\Mes Documents\Devis.doc"
Application.DDEPoke numcanal, "cPrestation" "ExcelPrestation"      (signet dans word et plage nommée dans excel)
Application.DDEPoke numcanal, "ZoneD1", "ExcelDZcopie"
Application.DDETerminate numcanal

Est ce que quelqu'un peut me mettre sur la piste d'une solution. Dernière info,
une fois le document word généré, il est diffusé mais jamais sauvegardé. C'est un autre
document à chaque fois en fonction de la constitution des tableaux.

Merci de votre aide

Cdt
Stefalci est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 20h56   #2
Invité de passage
 
Homme
Assistant aux utilisateurs
Inscription : novembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Assistant aux utilisateurs
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : novembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut [Résolu]

Bon merci à ceux qui ont pris le peine de lire ma prose un peu pénible je l'avoue.

Après un bref échange avec MS, qui me demande au passage 290€ pour me confirmer que le DDEPoke à des fonctions limitées à l'échange de texte alors
qu'en OFFICE 2001 SR1, tout fonctionne normale (texte, formule et bien sur format monétaire).

Voilà comment j'ai contourné le pb, solution certainement perfectible.
Dans les documents word (.docm), j'ai place une macro qui me recherche les signets à la demande.
Dans le tableau Excel (.xlsm), à partir de la macro de transfert, je lance dans un premier temps dans word la macro qui me positionne sur le signet,
puis depuis le macro Excel je copie la plage concernée et la colle dans word sur le signet et ce autant de fois que nécessaire. Je n'ai pas réussi à pointer sur le signet directement depuis Excel.

Bon cela fonctionne.

Merci en tout à MS, pour avoir réduit le fonctionnement des DDEPoke.

A plus
Stefalci est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h36.


 
 
 
 
Partenaires

Hébergement Web