Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lancer Word avec Excel

10 réponses
Avatar
Sunburn
Bonjour,
je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
afin de lancer un nouveau document Word.
Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
fichier Word au même endroit que le fichier Excel d'où vient la macro, en
demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
chemin du fichier Excel.
J'esère que je m'explique correctement.
J'ai pas trouvé quelque chose qui me correspond sur les forums.
Merci

10 réponses

Avatar
Daniel.C
Bonjour.
D'abord, tu dois, dans la fenêtre VBE, menus Outils et Reférences cocher
: "Microsoft Word xx.x Object Library". La macro ne ferme pas le fichier
après traitement :

Sub MacroWord()
Dim NomDoc As String
Set wordobj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
Var = ThisWorkbook.Path
If NomDoc <> "" Then
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Cordialement.
Daniel

Sunburn a écrit :
Bonjour,
je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
afin de lancer un nouveau document Word.
Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
fichier Word au même endroit que le fichier Excel d'où vient la macro, en
demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
chemin du fichier Excel.
J'esère que je m'explique correctement.
J'ai pas trouvé quelque chose qui me correspond sur les forums.
Merci


Avatar
Daniel.C
Bonjour.
D'abord, tu dois, dans la fenêtre VBE, menus Outils et Reférences cocher
: "Microsoft Word xx.x Object Library". La macro ne ferme pas le fichier
après traitement :

Sub MacroWord()
Dim NomDoc As String
Set wordobj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
Var = ThisWorkbook.Path
If NomDoc <> "" Then
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Cordialement.
Daniel

Sunburn a écrit :
Bonjour,
je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
afin de lancer un nouveau document Word.
Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
fichier Word au même endroit que le fichier Excel d'où vient la macro, en
demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
chemin du fichier Excel.
J'esère que je m'explique correctement.
J'ai pas trouvé quelque chose qui me correspond sur les forums.
Merci


Avatar
Sunburn
Bonjour Daniel,
en fait, la macro se lance, rame un peu (mais je pense que c'est mon PC), et
me demande le nom que je souhaite, donc tout va bien.
Puis, la macro plante à :
---
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
----
Je travaille sur un environnement TSE, donc le chemin d'accès est un peu
complexe : du type G:DOSSIERS GERA155522008TEST.
ou peut être que c'est autre chose qui plante.
Merci de ton aide.
Yann

"Daniel.C" a écrit :

Bonjour.
D'abord, tu dois, dans la fenêtre VBE, menus Outils et Reférences cocher
: "Microsoft Word xx.x Object Library". La macro ne ferme pas le fichier
après traitement :

Sub MacroWord()
Dim NomDoc As String
Set wordobj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
Var = ThisWorkbook.Path
If NomDoc <> "" Then
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Cordialement.
Daniel

Sunburn a écrit :
> Bonjour,
> je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
> afin de lancer un nouveau document Word.
> Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
> l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
> fichier Word au même endroit que le fichier Excel d'où vient la macro, en
> demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
> chemin du fichier Excel.
> J'esère que je m'explique correctement.
> J'ai pas trouvé quelque chose qui me correspond sur les forums.
> Merci



Avatar
Sunburn
Bonjour corto,
il bug et me met "objet requis à
****
Set Mydoc = wordob.document.Add(DocumentType:=wdNewBlankDocument)
****
si tu sais pourquoi, merci
Yann

"Corto" a écrit :

Bonjour Sunburn,
Il manquait la création du document :
Sub MacroWord()
Dim NomDoc As String
Set WordObj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
* Set MyDoc = WordObj.Documents.Add(DocumentType:=wdNewBlankDocument)*
If NomDoc <> "" Then
MyDoc.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
WordObj.Visible = True
Set WordObj = Nothing
End Sub

Corto

Sunburn a écrit :
> Bonjour Daniel,
> en fait, la macro se lance, rame un peu (mais je pense que c'est mon PC), et
> me demande le nom que je souhaite, donc tout va bien.
> Puis, la macro plante à :
> ---
> wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
> ----
> Je travaille sur un environnement TSE, donc le chemin d'accès est un peu
> complexe : du type G:DOSSIERS GERA155522008TEST.
> ou peut être que c'est autre chose qui plante.
> Merci de ton aide.
> Yann
>
> "Daniel.C" a écrit :
>
>
>> Bonjour.
>> D'abord, tu dois, dans la fenêtre VBE, menus Outils et Reférences cocher
>> : "Microsoft Word xx.x Object Library". La macro ne ferme pas le fichier
>> après traitement :
>>
>> Sub MacroWord()
>> Dim NomDoc As String
>> Set wordobj = CreateObject("Word.Application")
>> 'Set wordobj = GetObject(, "Word.Application")
>> NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
>> Var = ThisWorkbook.Path
>> If NomDoc <> "" Then
>> wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>> End If
>> wordobj.Visible = True
>> Set wordobj = Nothing
>> End Sub
>>
>> Cordialement.
>> Daniel
>>
>> Sunburn a écrit :
>>
>>> Bonjour,
>>> je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
>>> afin de lancer un nouveau document Word.
>>> Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
>>> l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
>>> fichier Word au même endroit que le fichier Excel d'où vient la macro, en
>>> demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
>>> chemin du fichier Excel.
>>> J'esère que je m'explique correctement.
>>> J'ai pas trouvé quelque chose qui me correspond sur les forums.
>>> Merci
>>>



Avatar
Sunburn
c'est OK, j'ai rajouté Word dans mes références....
Quel béta !!!
Par contre, question bête : le rajout des réf. est incluse au classeur, ou à
l'application ? Faudra-t-il les activer sur chaque poste de mon entreprise ?
Merci
YANN

"Corto" a écrit :

Bonjour Sunburn,
Il manquait la création du document :
Sub MacroWord()
Dim NomDoc As String
Set WordObj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
* Set MyDoc = WordObj.Documents.Add(DocumentType:=wdNewBlankDocument)*
If NomDoc <> "" Then
MyDoc.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
WordObj.Visible = True
Set WordObj = Nothing
End Sub

Corto

Sunburn a écrit :
> Bonjour Daniel,
> en fait, la macro se lance, rame un peu (mais je pense que c'est mon PC), et
> me demande le nom que je souhaite, donc tout va bien.
> Puis, la macro plante à :
> ---
> wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
> ----
> Je travaille sur un environnement TSE, donc le chemin d'accès est un peu
> complexe : du type G:DOSSIERS GERA155522008TEST.
> ou peut être que c'est autre chose qui plante.
> Merci de ton aide.
> Yann
>
> "Daniel.C" a écrit :
>
>
>> Bonjour.
>> D'abord, tu dois, dans la fenêtre VBE, menus Outils et Reférences cocher
>> : "Microsoft Word xx.x Object Library". La macro ne ferme pas le fichier
>> après traitement :
>>
>> Sub MacroWord()
>> Dim NomDoc As String
>> Set wordobj = CreateObject("Word.Application")
>> 'Set wordobj = GetObject(, "Word.Application")
>> NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
>> Var = ThisWorkbook.Path
>> If NomDoc <> "" Then
>> wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>> End If
>> wordobj.Visible = True
>> Set wordobj = Nothing
>> End Sub
>>
>> Cordialement.
>> Daniel
>>
>> Sunburn a écrit :
>>
>>> Bonjour,
>>> je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
>>> afin de lancer un nouveau document Word.
>>> Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
>>> l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
>>> fichier Word au même endroit que le fichier Excel d'où vient la macro, en
>>> demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
>>> chemin du fichier Excel.
>>> J'esère que je m'explique correctement.
>>> J'ai pas trouvé quelque chose qui me correspond sur les forums.
>>> Merci
>>>



Avatar
Corto
Bonjour Sunburn,
L'ajout des ref. se rapporte effectivement au classeur. Tu ne devras
donc pas ajouter la référence pour tous les postes, il suffit
d'enregistrer le classeur avec sa référence et de l'installer s ur les
postes requis ou sur un dossier réseau accessible à tes utilisa teurs.

Corto

Sunburn a écrit :
c'est OK, j'ai rajouté Word dans mes références....
Quel béta !!!
Par contre, question bête : le rajout des réf. est incluse au classeur, ou à
l'application ? Faudra-t-il les activer sur chaque poste de mon entrepr ise ?
Merci
YANN

"Corto" a écrit :


Bonjour Sunburn,
Il manquait la création du document :
Sub MacroWord()
Dim NomDoc As String
Set WordObj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enregis trer")
* Set MyDoc = WordObj.Documents.Add(DocumentType:=wdNewBlankDoc ument)*
If NomDoc <> "" Then
MyDoc.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
WordObj.Visible = True
Set WordObj = Nothing
End Sub

Corto

Sunburn a écrit :

Bonjour Daniel,
en fait, la macro se lance, rame un peu (mais je pense que c'est mon PC), et
me demande le nom que je souhaite, donc tout va bien.
Puis, la macro plante à :
---
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
----
Je travaille sur un environnement TSE, donc le chemin d'accès es t un peu
complexe : du type G:DOSSIERS GERA155522008TEST.
ou peut être que c'est autre chose qui plante.
Merci de ton aide.
Yann

"Daniel.C" a écrit :



Bonjour.
D'abord, tu dois, dans la fenêtre VBE, menus Outils et Refé rences cocher
: "Microsoft Word xx.x Object Library". La macro ne ferme pas le fic hier
après traitement :

Sub MacroWord()
Dim NomDoc As String
Set wordobj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enre gistrer")
Var = ThisWorkbook.Path
If NomDoc <> "" Then
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & Nom Doc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Cordialement.
Daniel

Sunburn a écrit :


Bonjour,
je souhaite ajouter un bouton à ma barre d'outil perso (ç a je sais faire),
afin de lancer un nouveau document Word.
Je veux donc ouvrir Word sur un document vierge, et à l'ouvert ure, avant que
l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistre r ce
fichier Word au même endroit que le fichier Excel d'où vi ent la macro, en
demandant le nom d'enregistrement mais pas le chemin, il faut impos er le
chemin du fichier Excel.
J'esère que je m'explique correctement.
J'ai pas trouvé quelque chose qui me correspond sur les forums .
Merci












Avatar
Daniel.C
Bonjour.

> en fait, la macro se lance, rame un peu

C'est le démarrage de l'instance de Word.

> Puis, la macro plante

Quel est le message d'erreur ?

Il faut que ton classeur soit enregistré au moins une fois pour
récupérer son chemin. Ensuite, vérifie que tu as les droits nécessaires
pour pouvoir enregistrer dans ce dossier. Ajoute la ligne :
Var = ThisWorkbook.Path
qui ne sert à rien, par :
Msgbox ThisWorkbook.Path
Pour contrôler le chemin d'enregistrement. Entre autre vérifie qu'il n'y
a pas de backslash à la fin. Enfin, teste la même macro depuis un
classeur enregistré sur ton disque local pour voir si le même problème
se reproduit.
Daniel

Sunburn a écrit :
Bonjour Daniel,
en fait, la macro se lance, rame un peu (mais je pense que c'est mon PC), et
me demande le nom que je souhaite, donc tout va bien.
Puis, la macro plante à :
---
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
----
Je travaille sur un environnement TSE, donc le chemin d'accès est un peu
complexe : du type G:DOSSIERS GERA155522008TEST.
ou peut être que c'est autre chose qui plante.
Merci de ton aide.
Yann

"Daniel.C" a écrit :

Bonjour.
D'abord, tu dois, dans la fenêtre VBE, menus Outils et Reférences cocher
: "Microsoft Word xx.x Object Library". La macro ne ferme pas le fichier
après traitement :

Sub MacroWord()
Dim NomDoc As String
Set wordobj = CreateObject("Word.Application")
'Set wordobj = GetObject(, "Word.Application")
NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
Var = ThisWorkbook.Path
If NomDoc <> "" Then
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Cordialement.
Daniel

Sunburn a écrit :
Bonjour,
je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
afin de lancer un nouveau document Word.
Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
fichier Word au même endroit que le fichier Excel d'où vient la macro, en
demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
chemin du fichier Excel.
J'esère que je m'explique correctement.
J'ai pas trouvé quelque chose qui me correspond sur les forums.
Merci






Avatar
michdenis
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc

Si dans la valeur de la variable NomDoc l'extension du fichier .Doc
n'a pas été ajouté il faudrait l'ajouter à la ligne de commande :

If LCase(right(NomDoc,4))<> ".doc) then
NomDoc = NomDoc & ".doc"
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
else
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
end if

"Sunburn" a écrit dans le message de
news:
Bonjour,
je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
afin de lancer un nouveau document Word.
Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
fichier Word au même endroit que le fichier Excel d'où vient la macro, en
demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
chemin du fichier Excel.
J'esère que je m'explique correctement.
J'ai pas trouvé quelque chose qui me correspond sur les forums.
Merci
Avatar
michdenis
Erreur de frappe :

| If LCase(right(NomDoc,4))<> ".doc) then

Après "doc" enlever la ")" et ajouter un guillemet.



"michdenis" a écrit dans le message de news:
%
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc

Si dans la valeur de la variable NomDoc l'extension du fichier .Doc
n'a pas été ajouté il faudrait l'ajouter à la ligne de commande :

If LCase(right(NomDoc,4))<> ".doc) then
NomDoc = NomDoc & ".doc"
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
else
wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
end if

"Sunburn" a écrit dans le message de
news:
Bonjour,
je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
afin de lancer un nouveau document Word.
Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
fichier Word au même endroit que le fichier Excel d'où vient la macro, en
demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
chemin du fichier Excel.
J'esère que je m'explique correctement.
J'ai pas trouvé quelque chose qui me correspond sur les forums.
Merci
Avatar
Sunburn
ok, je te remercie, ça me soulage.
yann

"Corto" a écrit :

Bonjour Sunburn,
L'ajout des ref. se rapporte effectivement au classeur. Tu ne devras
donc pas ajouter la référence pour tous les postes, il suffit
d'enregistrer le classeur avec sa référence et de l'installer sur les
postes requis ou sur un dossier réseau accessible à tes utilisateurs.

Corto

Sunburn a écrit :
> c'est OK, j'ai rajouté Word dans mes références....
> Quel béta !!!
> Par contre, question bête : le rajout des réf. est incluse au classeur, ou à
> l'application ? Faudra-t-il les activer sur chaque poste de mon entreprise ?
> Merci
> YANN
>
> "Corto" a écrit :
>
>
>> Bonjour Sunburn,
>> Il manquait la création du document :
>> Sub MacroWord()
>> Dim NomDoc As String
>> Set WordObj = CreateObject("Word.Application")
>> 'Set wordobj = GetObject(, "Word.Application")
>> NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
>> * Set MyDoc = WordObj.Documents.Add(DocumentType:=wdNewBlankDocument)*
>> If NomDoc <> "" Then
>> MyDoc.SaveAs ThisWorkbook.Path & "" & NomDoc
>> End If
>> WordObj.Visible = True
>> Set WordObj = Nothing
>> End Sub
>>
>> Corto
>>
>> Sunburn a écrit :
>>
>>> Bonjour Daniel,
>>> en fait, la macro se lance, rame un peu (mais je pense que c'est mon PC), et
>>> me demande le nom que je souhaite, donc tout va bien.
>>> Puis, la macro plante à :
>>> ---
>>> wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>>> ----
>>> Je travaille sur un environnement TSE, donc le chemin d'accès est un peu
>>> complexe : du type G:DOSSIERS GERA155522008TEST.
>>> ou peut être que c'est autre chose qui plante.
>>> Merci de ton aide.
>>> Yann
>>>
>>> "Daniel.C" a écrit :
>>>
>>>
>>>
>>>> Bonjour.
>>>> D'abord, tu dois, dans la fenêtre VBE, menus Outils et Reférences cocher
>>>> : "Microsoft Word xx.x Object Library". La macro ne ferme pas le fichier
>>>> après traitement :
>>>>
>>>> Sub MacroWord()
>>>> Dim NomDoc As String
>>>> Set wordobj = CreateObject("Word.Application")
>>>> 'Set wordobj = GetObject(, "Word.Application")
>>>> NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
>>>> Var = ThisWorkbook.Path
>>>> If NomDoc <> "" Then
>>>> wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>>>> End If
>>>> wordobj.Visible = True
>>>> Set wordobj = Nothing
>>>> End Sub
>>>>
>>>> Cordialement.
>>>> Daniel
>>>>
>>>> Sunburn a écrit :
>>>>
>>>>
>>>>> Bonjour,
>>>>> je souhaite ajouter un bouton à ma barre d'outil perso (ça je sais faire),
>>>>> afin de lancer un nouveau document Word.
>>>>> Je veux donc ouvrir Word sur un document vierge, et à l'ouverture, avant que
>>>>> l'utilisateur ne puisse saisir quoi que ce soit, je veux enregistrer ce
>>>>> fichier Word au même endroit que le fichier Excel d'où vient la macro, en
>>>>> demandant le nom d'enregistrement mais pas le chemin, il faut imposer le
>>>>> chemin du fichier Excel.
>>>>> J'esère que je m'explique correctement.
>>>>> J'ai pas trouvé quelque chose qui me correspond sur les forums.
>>>>> Merci
>>>>>
>>>>>