Besoin d'aide pour une macro.

Le
Gadget
Salut à tous.

J'ai besoin d'aide pour créer une macro un peu complexe pour moi.
Elle doit, a partir de mon classeur excel :
- ouvrir 3 documents Word
- mettre à jour les liaisons entre mon classeur et ces documents
- imprimer ces documents words ainsi mis à jour
- "sauvegarder sous" les documents word
- les fermer.

nb : il n'est pas utile que les documents words soient visibles par
l'utilisateur.

Je cherche les instructions vba correspondant à ces étapes. En particulier,
comment manipuler un document word à partir du vba d'excel.

Merci pour votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
tissot.emmanuel
Le #4477321
Bonsoir,

Un début de réponse pour lancer Word et ouvrir un document.

Dans VBE Outils>Références cocher Microsoft Word x.0 Object Library

Sub LancerWordOuvrirDocument()
Dim wApp As Word.Application, wDoc As Word.Document, WordFileFullName
WordFileFullName = Application.GetOpenFilename(filefilter:="Documents
Word (*.doc), *.doc")
If VarType(WordFileFullName) = vbBoolean Then Exit Sub
Set wApp = CreateObject("Word.Application")
Set wDoc = wApp.Documents.Open(Filename:=WordFileFullName)

If MsgBox("Voir Word ?", vbYesNo) = vbYes Then wApp.Visible = True
End Sub

Cordialement,

Manu/

"Gadget" 463a592a$0$25940$
Salut à tous.

J'ai besoin d'aide pour créer une macro un peu complexe pour moi.
Elle doit, a partir de mon classeur excel :
- ouvrir 3 documents Word
- mettre à jour les liaisons entre mon classeur et ces documents
- imprimer ces documents words ainsi mis à jour
- "sauvegarder sous" les documents word
- les fermer.

nb : il n'est pas utile que les documents words soient visibles par
l'utilisateur.

Je cherche les instructions vba correspondant à ces étapes. En
particulier, comment manipuler un document word à partir du vba d'excel.

Merci pour votre aide.








Gadget
Le #4498171
Merci pour cette première réponse, mais elle pose déjà un problème :
Set wApp = CreateObject("Word.Application")
me renvoie une erreur 13, incompatibilité de type.

nb : pour que le "dim wapp as word.application" fonctionne, j'ai ajouté la
référence à Microsoft Word 10. object library, mais peut-être est-ce
insuffisant ?
A plus.


--
Visitez notre site !
www.tohubohu.fr <<<
"tissot.emmanuel"



%
Bonsoir,

Un début de réponse pour lancer Word et ouvrir un document.

Dans VBE Outils>Références cocher Microsoft Word x.0 Object Library

Sub LancerWordOuvrirDocument()
Dim wApp As Word.Application, wDoc As Word.Document, WordFileFullName
WordFileFullName = Application.GetOpenFilename(filefilter:="Documents
Word (*.doc), *.doc")
If VarType(WordFileFullName) = vbBoolean Then Exit Sub
Set wApp = CreateObject("Word.Application")
Set wDoc = wApp.Documents.Open(Filename:=WordFileFullName)

If MsgBox("Voir Word ?", vbYesNo) = vbYes Then wApp.Visible = True
End Sub

Cordialement,

Manu/

"Gadget" 463a592a$0$25940$
Salut à tous.

J'ai besoin d'aide pour créer une macro un peu complexe pour moi.
Elle doit, a partir de mon classeur excel :
- ouvrir 3 documents Word
- mettre à jour les liaisons entre mon classeur et ces documents
- imprimer ces documents words ainsi mis à jour
- "sauvegarder sous" les documents word
- les fermer.

nb : il n'est pas utile que les documents words soient visibles par
l'utilisateur.

Je cherche les instructions vba correspondant à ces étapes. En
particulier, comment manipuler un document word à partir du vba d'excel.

Merci pour votre aide.













FFO
Le #4498011
Salut Gadget

Le code de tissot-emmanuel fonctionne trés bien chez moi
J'ai mis personnellement la référence à Microsoft Word 11. object library
Peut être la notre différence de résultat mais je doute
Pour imprimer, sauvegarder, fermer les documents word et quitter
l'application Word rajoutes en fin de ce code les lignes suivantes :

With wDoc
.PrintOut
End With
wDoc.Close wdSaveChanges
Word.Application.Quit

En ce qui concerne les mises à jour il me faudrait plus de précision quant à
leur nature

En espérant t'avoir aidé !!!


Merci pour cette première réponse, mais elle pose déjà un problème :
Set wApp = CreateObject("Word.Application")
me renvoie une erreur 13, incompatibilité de type.

nb : pour que le "dim wapp as word.application" fonctionne, j'ai ajouté la
référence à Microsoft Word 10. object library, mais peut-être est-ce
insuffisant ?
A plus.


--
Visitez notre site !
www.tohubohu.fr <<<
"tissot.emmanuel"



%
Bonsoir,

Un début de réponse pour lancer Word et ouvrir un document.

Dans VBE Outils>Références cocher Microsoft Word x.0 Object Library

Sub LancerWordOuvrirDocument()
Dim wApp As Word.Application, wDoc As Word.Document, WordFileFullName
WordFileFullName = Application.GetOpenFilename(filefilter:="Documents
Word (*.doc), *.doc")
If VarType(WordFileFullName) = vbBoolean Then Exit Sub
Set wApp = CreateObject("Word.Application")
Set wDoc = wApp.Documents.Open(Filename:=WordFileFullName)

If MsgBox("Voir Word ?", vbYesNo) = vbYes Then wApp.Visible = True
End Sub

Cordialement,

Manu/

"Gadget" 463a592a$0$25940$
Salut à tous.

J'ai besoin d'aide pour créer une macro un peu complexe pour moi.
Elle doit, a partir de mon classeur excel :
- ouvrir 3 documents Word
- mettre à jour les liaisons entre mon classeur et ces documents
- imprimer ces documents words ainsi mis à jour
- "sauvegarder sous" les documents word
- les fermer.

nb : il n'est pas utile que les documents words soient visibles par
l'utilisateur.

Je cherche les instructions vba correspondant à ces étapes. En
particulier, comment manipuler un document word à partir du vba d'excel.

Merci pour votre aide.


















Gadget
Le #4497881
Merci FFO.
J'ai résolu le pb en déclarant wApp en Variant plutôt qu'en Word.App. Je ne
comprend pas pourquoi celà ne marchait pas, mais bon bref...

Merci pour les méthodes pour l'impression et la sauvegarde. Plus
précisément, j'ai besoin de "sauvegarder sous" afin de garder le doc
original. Celà est-il possible ?


Merci.


--
Visitez notre site !
www.tohubohu.fr <<<
"FFO"




Salut Gadget

Le code de tissot-emmanuel fonctionne trés bien chez moi
J'ai mis personnellement la référence à Microsoft Word 11. object library
Peut être la notre différence de résultat mais je doute
Pour imprimer, sauvegarder, fermer les documents word et quitter
l'application Word rajoutes en fin de ce code les lignes suivantes :

With wDoc
.PrintOut
End With
wDoc.Close wdSaveChanges
Word.Application.Quit

En ce qui concerne les mises à jour il me faudrait plus de précision quant
à
leur nature

En espérant t'avoir aidé !!!


Merci pour cette première réponse, mais elle pose déjà un problème :
Set wApp = CreateObject("Word.Application")
me renvoie une erreur 13, incompatibilité de type.

nb : pour que le "dim wapp as word.application" fonctionne, j'ai ajouté
la
référence à Microsoft Word 10. object library, mais peut-être est-ce
insuffisant ?
A plus.


--
Visitez notre site !
www.tohubohu.fr <<<
"tissot.emmanuel"



news:
%
Bonsoir,

Un début de réponse pour lancer Word et ouvrir un document.

Dans VBE Outils>Références cocher Microsoft Word x.0 Object Library

Sub LancerWordOuvrirDocument()
Dim wApp As Word.Application, wDoc As Word.Document,
WordFileFullName
WordFileFullName =
Application.GetOpenFilename(filefilter:="Documents
Word (*.doc), *.doc")
If VarType(WordFileFullName) = vbBoolean Then Exit Sub
Set wApp = CreateObject("Word.Application")
Set wDoc = wApp.Documents.Open(Filename:=WordFileFullName)

If MsgBox("Voir Word ?", vbYesNo) = vbYes Then wApp.Visible = True
End Sub

Cordialement,

Manu/

"Gadget" 463a592a$0$25940$
Salut à tous.

J'ai besoin d'aide pour créer une macro un peu complexe pour moi.
Elle doit, a partir de mon classeur excel :
- ouvrir 3 documents Word
- mettre à jour les liaisons entre mon classeur et ces documents
- imprimer ces documents words ainsi mis à jour
- "sauvegarder sous" les documents word
- les fermer.

nb : il n'est pas utile que les documents words soient visibles par
l'utilisateur.

Je cherche les instructions vba correspondant à ces étapes. En
particulier, comment manipuler un document word à partir du vba
d'excel.

Merci pour votre aide.




















tissot.emmanuel
Le #4497641
Bonjour,

Pour enregistrer sous:

ChangeFileOpenDirectory "C:MesDocuments" 'Adapter le nom du
répertoire
wDoc.SaveAs FileName:="NomDeFichier.doc" 'Adapter le nom du fichier

Cordialement,

Manu/


"Gadget" 463b181d$0$27382$
Merci FFO.
J'ai résolu le pb en déclarant wApp en Variant plutôt qu'en Word.App. Je
ne comprend pas pourquoi celà ne marchait pas, mais bon bref...

Merci pour les méthodes pour l'impression et la sauvegarde. Plus
précisément, j'ai besoin de "sauvegarder sous" afin de garder le doc
original. Celà est-il possible ?


Merci.


--
Visitez notre site !
www.tohubohu.fr <<<
"FFO"




Salut Gadget

Le code de tissot-emmanuel fonctionne trés bien chez moi
J'ai mis personnellement la référence à Microsoft Word 11. object
library
Peut être la notre différence de résultat mais je doute
Pour imprimer, sauvegarder, fermer les documents word et quitter
l'application Word rajoutes en fin de ce code les lignes suivantes :

With wDoc
.PrintOut
End With
wDoc.Close wdSaveChanges
Word.Application.Quit

En ce qui concerne les mises à jour il me faudrait plus de précision
quant à
leur nature

En espérant t'avoir aidé !!!


Merci pour cette première réponse, mais elle pose déjà un problème :
Set wApp = CreateObject("Word.Application")
me renvoie une erreur 13, incompatibilité de type.

nb : pour que le "dim wapp as word.application" fonctionne, j'ai ajouté
la
référence à Microsoft Word 10. object library, mais peut-être est-ce
insuffisant ?
A plus.


--
Visitez notre site !
www.tohubohu.fr <<<
"tissot.emmanuel"



news:
%
Bonsoir,

Un début de réponse pour lancer Word et ouvrir un document.

Dans VBE Outils>Références cocher Microsoft Word x.0 Object Library

Sub LancerWordOuvrirDocument()
Dim wApp As Word.Application, wDoc As Word.Document,
WordFileFullName
WordFileFullName =
Application.GetOpenFilename(filefilter:="Documents
Word (*.doc), *.doc")
If VarType(WordFileFullName) = vbBoolean Then Exit Sub
Set wApp = CreateObject("Word.Application")
Set wDoc = wApp.Documents.Open(Filename:=WordFileFullName)

If MsgBox("Voir Word ?", vbYesNo) = vbYes Then wApp.Visible = True
End Sub

Cordialement,

Manu/

"Gadget" 463a592a$0$25940$
Salut à tous.

J'ai besoin d'aide pour créer une macro un peu complexe pour moi.
Elle doit, a partir de mon classeur excel :
- ouvrir 3 documents Word
- mettre à jour les liaisons entre mon classeur et ces documents
- imprimer ces documents words ainsi mis à jour
- "sauvegarder sous" les documents word
- les fermer.

nb : il n'est pas utile que les documents words soient visibles par
l'utilisateur.

Je cherche les instructions vba correspondant à ces étapes. En
particulier, comment manipuler un document word à partir du vba
d'excel.

Merci pour votre aide.
























Publicité
Poster une réponse
Anonyme