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

Signaler
Messages postés
13
Date d'inscription
lundi 7 août 2006
Statut
Membre
Dernière intervention
27 mai 2008
-
Messages postés
209
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 juillet 2009
-
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

 

10 réponses

Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
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:
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
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:
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
9
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:
Messages postés
13
Date d'inscription
lundi 7 août 2006
Statut
Membre
Dernière intervention
27 mai 2008

Merci beaucoup, c'est tout ce qu'il me fallait !!! :)
Messages postés
13
Date d'inscription
lundi 7 août 2006
Statut
Membre
Dernière intervention
27 mai 2008

Euh, juste un truc ... ajouter la référence à Word ... comment on fait ça ? ^^
Messages postés
13
Date d'inscription
lundi 7 août 2006
Statut
Membre
Dernière intervention
27 mai 2008

Thanx :)
Messages postés
13
Date d'inscription
lundi 7 août 2006
Statut
Membre
Dernière intervention
27 mai 2008

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
Messages postés
13
Date d'inscription
lundi 7 août 2006
Statut
Membre
Dernière intervention
27 mai 2008

Oups, le second Dim ne sert à rien ... il n'a pas d'utilité dans ce code ^^
Messages postés
59
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
1 décembre 2013

Bonjour,

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

merci.
Messages postés
209
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 juillet 2009

bonjour
j'ai tenté cette procédure sur excel 2007 ça ne marche pas.