OVH Cloud OVH Cloud

Ouvrir modèle WORD à partir d' EXCEL

4 réponses
Avatar
Excel...lent
Bonsoir la communauté,

Voici ma supplique :

J'ai un modèle WORD ( fichier.dot ) et je souhaiterais pouvoir l'ouvrir
depuis un classeur EXCEL avec soit une macro soit un hyperlien.

J'ai bien essayé avec un hyperlien mais le problème c'est que cela m'ouvre
WORD avec le modèle ouvert ( avec donc risque de modification involontaire
du modèle ) et non pas sa copie comme quand on l'ouvre depuis word.

Y a t'il une astuce ?

Si oui merci beaucoup de votre aide.

Cordialement.

Excel...lent

4 réponses

Avatar
Damien Kergosien
Bonjour Excel...lent

Voilà une procédure qui ouvre Word si pas ouvert avec le modèle appelé
ici MacroVba.dot situé dans le même répertoire que le fichier Excel
La partie à modifier est : ThisWorkbook.Path & "MacroVba.dot"

Sub CopieDansWord()
'Cette procédure suppose que l'on ajoute au projet VBA une référence à
'la bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."

Dim W As Word.Application
Dim S As Word.Selection, nomF As String
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If

W.ScreenUpdating = False
'On Error GoTo Fin
W.Activate
' dans la ligne suivante, modifier le chemin de MacroVba.dot
W.Documents.Add Template:= _
ThisWorkbook.Path & "MacroVba.dot", NewTemplate:= _
False, DocumentType:=0
Set S = W.ActiveWindow.Selection
S.InsertAfter "essai"

Fin:
W.ScreenUpdating = True
End Sub

Damien

Bonsoir la communauté,

Voici ma supplique :

J'ai un modèle WORD ( fichier.dot ) et je souhaiterais pouvoir l'ouvrir
depuis un classeur EXCEL avec soit une macro soit un hyperlien.

J'ai bien essayé avec un hyperlien mais le problème c'est que cela m'ouvre
WORD avec le modèle ouvert ( avec donc risque de modification involontaire
du modèle ) et non pas sa copie comme quand on l'ouvre depuis word.

Y a t'il une astuce ?

Si oui merci beaucoup de votre aide.

Cordialement.

Excel...lent


Avatar
Excel...lent
Bonjour Damien,
Merci du coup de main. Mais en fait cela ne fonctionne pas comme je
souhaiterais. Je m'explique :

Voilà ce que j'ai fait.

1 - J'ai copié ta macro dans mon projet
2 - j'ai modifié dans la macro le nom du fichier par le nom de mon modèle
{ThisWorkbook.Path & "XXXX.dot",
NewTemplate:= _}.
3 - j'ai installé mon modèle dans le même répertoire que mon fichier Excel.
4- j'ai été cocher dans les références
* Microsoft Visual Basic for Applications Extensibility 5.3
* Microsoft Office 9.0 Object Library

Comme je te le disais cela fonctionne. Mais malheureusement cela ouvre mon
modèle en WORD comme un fichier landa alors que je voudrais que WORD ouvre
un fichier " Document1" étant la copie du modèle, comme il le fait
d'habitude. Le modèle XXXX.dot restant lui un modèle.

Je ne sais pas si j'ai été très clair, en tout cas merci de ta contribution.

Si tu as d'autres idées je suis preneur tellement je suis largué sur ce coup
là......

Cordialement.

Excel...lent




"Damien Kergosien" a écrit dans le message de news:

Bonjour Excel...lent

Voilà une procédure qui ouvre Word si pas ouvert avec le modèle appelé
ici MacroVba.dot situé dans le même répertoire que le fichier Excel
La partie à modifier est : ThisWorkbook.Path & "MacroVba.dot"

Sub CopieDansWord()
'Cette procédure suppose que l'on ajoute au projet VBA une référence à
'la bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."

Dim W As Word.Application
Dim S As Word.Selection, nomF As String
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If

W.ScreenUpdating = False
'On Error GoTo Fin
W.Activate
' dans la ligne suivante, modifier le chemin de MacroVba.dot
W.Documents.Add Template:= _
ThisWorkbook.Path & "MacroVba.dot", NewTemplate:= _
False, DocumentType:=0
Set S = W.ActiveWindow.Selection
S.InsertAfter "essai"

Fin:
W.ScreenUpdating = True
End Sub

Damien

Bonsoir la communauté,

Voici ma supplique :

J'ai un modèle WORD ( fichier.dot ) et je souhaiterais pouvoir l'ouvrir
depuis un classeur EXCEL avec soit une macro soit un hyperlien.

J'ai bien essayé avec un hyperlien mais le problème c'est que cela
m'ouvre


WORD avec le modèle ouvert ( avec donc risque de modification
involontaire


du modèle ) et non pas sa copie comme quand on l'ouvre depuis word.

Y a t'il une astuce ?

Si oui merci beaucoup de votre aide.

Cordialement.

Excel...lent






Avatar
Damien Kergosien
Bonjour Excel...lent

chez moi, j'ai Microsoft Word x.x Object Library de coché
Le fichier créé se nomme bien Document1

Damien


Bonjour Damien,
Merci du coup de main. Mais en fait cela ne fonctionne pas comme je
souhaiterais. Je m'explique :

Voilà ce que j'ai fait.

1 - J'ai copié ta macro dans mon projet
2 - j'ai modifié dans la macro le nom du fichier par le nom de mon modèle
{ThisWorkbook.Path & "XXXX.dot",
NewTemplate:= _}.
3 - j'ai installé mon modèle dans le même répertoire que mon fichier Excel.
4- j'ai été cocher dans les références
* Microsoft Visual Basic for Applications Extensibility 5.3
* Microsoft Office 9.0 Object Library

Comme je te le disais cela fonctionne. Mais malheureusement cela ouvre mon
modèle en WORD comme un fichier landa alors que je voudrais que WORD ouvre
un fichier " Document1" étant la copie du modèle, comme il le fait
d'habitude. Le modèle XXXX.dot restant lui un modèle.

Je ne sais pas si j'ai été très clair, en tout cas merci de ta contribution.

Si tu as d'autres idées je suis preneur tellement je suis largué sur ce coup
là......

Cordialement.

Excel...lent




"Damien Kergosien" a écrit dans le message de news:

Bonjour Excel...lent

Voilà une procédure qui ouvre Word si pas ouvert avec le modèle appelé
ici MacroVba.dot situé dans le même répertoire que le fichier Excel
La partie à modifier est : ThisWorkbook.Path & "MacroVba.dot"

Sub CopieDansWord()
'Cette procédure suppose que l'on ajoute au projet VBA une référence à
'la bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."

Dim W As Word.Application
Dim S As Word.Selection, nomF As String
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If

W.ScreenUpdating = False
'On Error GoTo Fin
W.Activate
' dans la ligne suivante, modifier le chemin de MacroVba.dot
W.Documents.Add Template:= _
ThisWorkbook.Path & "MacroVba.dot", NewTemplate:= _
False, DocumentType:=0
Set S = W.ActiveWindow.Selection
S.InsertAfter "essai"

Fin:
W.ScreenUpdating = True
End Sub

Damien

Bonsoir la communauté,

Voici ma supplique :

J'ai un modèle WORD ( fichier.dot ) et je souhaiterais pouvoir l'ouvrir
depuis un classeur EXCEL avec soit une macro soit un hyperlien.

J'ai bien essayé avec un hyperlien mais le problème c'est que cela m'ouvre
WORD avec le modèle ouvert ( avec donc risque de modification involontaire
du modèle ) et non pas sa copie comme quand on l'ouvre depuis word.

Y a t'il une astuce ?

Si oui merci beaucoup de votre aide.

Cordialement.

Excel...lent






Avatar
Excel...lent
Bonjour Damien,

Dans mon précedent post j'ai fait une petite erreur, j'ai bien coché
Microsoft WORD 9.0 Object Library.

Ci-joint je t'ai mis une copie écran de ce que j'ai de coché actuellement,
peut-être que ca te parlera plus qu'à moi.

http://cjoint.com/?kdp60YulZv

Sinon chez moi ca fonctionne comme je te disais dans mon précédent post.
J'avoue que je suis complètement à l'ouest sur le sujet.....

En tout cas je te renouvelle tes remerciements pour ton aide.

Cordialement.

Excel...lent