Création d'un fichier word via macro excel [Résolu]

WedgeAnt 13 Messages postés lundi 7 août 2006Date d'inscription 27 mai 2008 Dernière intervention - 5 déc. 2006 à 11:26 - Dernière réponse : chaudier37 209 Messages postés jeudi 5 août 2004Date d'inscription 15 juillet 2009 Dernière intervention
- 23 sept. 2008 à 22:52
Bonjour à tous

J'ai essayé de chercher un peu sur les forums, mais je n'ai pas trouvé de solution répondant à mon probleme ...
Je souhaiterais, via une macro excel, créer automatiquement un fichier word avec un nom défini par la valeur d'une cellule et un contenu correspondant au contenu d'autres cellules.

Je sais créer un nouveau document excel de cette manière en utilisant Dim X as WorkBook, mais je ne connais pas le type de variable à utiliser pour un fichier Word.
Je sais aussi que pour lancer Word on peut utiliser la commande Shell, mais ça ne m'avance pas à grand chose ...

Si quelqu'un a la solution miracle ... merci d'avance

 
Afficher la suite 

10 réponses

Répondre au sujet
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 5 déc. 2006 à 11:36
+3
Utile
Salut, c'est la même chose mais avec word :

ajoute la références microsoft word et :

Dim WordApp As Word.Application
Dim WordDoc As Word.Document


Set WordApp = New Word.Application
Set WordDoc = New Word.Document
WordApp.Visible = True


Dim PathApp As String


PathApp = ThisWorkbook.path
WordDoc.SaveAs (PathApp & "" & Range("A1").Value)


WordDoc.Close
WordApp.Quit

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de drikce06
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 5 déc. 2006 à 11:58
+3
Utile
Dans VBA
Outils > Références > et tu coches microsoft word library....

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de drikce06
drikce06 2247 Messages postés lundi 29 mai 2006Date d'inscription 29 mai 2008 Dernière intervention - 5 déc. 2006 à 13:52
+3
Utile
Private Sub CommandButton1_Click()


Dim WordApp As Word.Application
Dim fichier_word As Word.Document



creer_feuille_word ("H:\ETUD03\TEST\Titre.doc")


End Sub


Sub creer_feuille_word(ByVal PathName As String)


Set WordApp = New Word.Application
WordApp.Visible = True


Set feuille_word = New Word.Document


feuille_word.SaveAs Filename:=PathName


feuille_word.Close
WordApp.Quit


End Sub

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de drikce06
WedgeAnt 13 Messages postés lundi 7 août 2006Date d'inscription 27 mai 2008 Dernière intervention - 5 déc. 2006 à 11:45
0
Utile
Merci beaucoup, c'est tout ce qu'il me fallait !!! :)
Commenter la réponse de WedgeAnt
WedgeAnt 13 Messages postés lundi 7 août 2006Date d'inscription 27 mai 2008 Dernière intervention - 5 déc. 2006 à 11:49
0
Utile
Euh, juste un truc ... ajouter la référence à Word ... comment on fait ça ? ^^
Commenter la réponse de WedgeAnt
WedgeAnt 13 Messages postés lundi 7 août 2006Date d'inscription 27 mai 2008 Dernière intervention - 5 déc. 2006 à 12:32
0
Utile
Thanx :)
Commenter la réponse de WedgeAnt
WedgeAnt 13 Messages postés lundi 7 août 2006Date d'inscription 27 mai 2008 Dernière intervention - 5 déc. 2006 à 13:37
0
Utile
Bon, de retour ;)

Cette fois, je peux créer un fichier word, mais quand je lance la création d'un second fichier (avec un nom différent), j'obtiens une erreur :

Erreur d'exécution -2147023174 (800706ba)
Erreur Automation
Le serveur RPC n'est pas disponible

Par contre, si je laisse une fenêtre word ouverte pendant le traitement, ça fonctionne ...

Voici mon code (tout simple à priori)
Dim WordApp As Word.Application
Dim fichier_word As Word.Document

Sub creer_feuille_word(ByVal titre As String)
    Set WordApp = New Word.Application
    WordApp.Visible = True
    WordApp.DisplayAlerts = False
    Set feuille_word = Word.Documents.Add
    nom_fichier = "H:\ETUD03\TEST" & titre & ".doc"
    WordApp.DisplayAlerts = True
    feuille_word.SaveAs FileName:=nom_fichier
    feuille_word.Close
    WordApp.Quit
End Sub
Commenter la réponse de WedgeAnt
WedgeAnt 13 Messages postés lundi 7 août 2006Date d'inscription 27 mai 2008 Dernière intervention - 5 déc. 2006 à 13:44
0
Utile
Oups, le second Dim ne sert à rien ... il n'a pas d'utilité dans ce code ^^
Commenter la réponse de WedgeAnt
wacssine 59 Messages postés samedi 13 octobre 2007Date d'inscription 1 décembre 2013 Dernière intervention - 28 févr. 2008 à 18:33
0
Utile
Bonjour,

il y a une possibilité de le faire oar vb.net ??

merci.
Commenter la réponse de wacssine
chaudier37 209 Messages postés jeudi 5 août 2004Date d'inscription 15 juillet 2009 Dernière intervention - 23 sept. 2008 à 22:52
0
Utile
bonjour
j'ai tenté cette procédure sur excel 2007 ça ne marche pas.
Commenter la réponse de chaudier37

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.