Vba: "il" ne veut plus enregistrer le doc word que j'ai créé...

Le
Jac
Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
-

Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER, FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing

--
Ça a fonctionné, mais maintenant, quand c'est le moment d'enregistrer, j'ai
droit à un laconique "Variable objet ou variable de bloc With non définie".
Microsoft Word 10.0 Object library est bien activé dans les références Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4901961
Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER, FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment d'enregistrer, j'ai
droit à un laconique "Variable objet ou variable de bloc With non définie".
Microsoft Word 10.0 Object library est bien activé dans les références Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac





Jac
Le #4901951
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de même ?
(10 feuilles, 40 macros, ...)

"FFO"
Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER, FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac







Jac
Le #4901921
J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je retombe sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de même
? (10 feuilles, 40 macros, ...)

"FFO"
Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER, FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac











FFO
Le #4901891
Rebonjours à toi

Il faut cerner l'origine de l'anomalie

Si je comprends bien ta macro seule dans un nouveau document fonctionne
Tu me confirmes ???

Dans cet hypothèse je partirai de cette base et reprendrai une par une dans
ce nouveau classeur les différentes composantes de celui d'origine en testant
entre chacune d'elles l'état de fonctionnement la macro
Celà devrait cerner normalement le coupable

Réalises l'opération et donnes nous le résultat


J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je retombe sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de même
? (10 feuilles, 40 macros, ...)

"FFO"
Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER, FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac
















Jac
Le #4901511
Eh oui, la macro seule dans un nouveau fichier fonctionne et quand je
rappatrie les feuilles et les macros, ça marche encore. Je ne comprends plus
très bien ce disfonctionnement...
Je vais revoir le calcul des chemins d'accès... qui est un peu plus complexe
que dans le modèle...

"FFO"
Rebonjours à toi

Il faut cerner l'origine de l'anomalie

Si je comprends bien ta macro seule dans un nouveau document fonctionne
Tu me confirmes ???

Dans cet hypothèse je partirai de cette base et reprendrai une par une
dans
ce nouveau classeur les différentes composantes de celui d'origine en
testant
entre chacune d'elles l'état de fonctionnement la macro
Celà devrait cerner normalement le coupable

Réalises l'opération et donnes nous le résultat


J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je retombe
sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne
parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de
même
? (10 feuilles, 40 macros, ...)

"FFO"
Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il
plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER, FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment
d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les
références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac


















Jac
Le #4901391
Ça y est ! Je n'ai pas encore la solution, mais le problème est lié au
chemin d'accès à mon modèle car quand j'ouvre un modèle situé à la racine du
C, ça se passe sans grincements de dents.

Merci encore pour ta contribution.

Jac

"Jac" %
Eh oui, la macro seule dans un nouveau fichier fonctionne et quand je
rappatrie les feuilles et les macros, ça marche encore. Je ne comprends
plus très bien ce disfonctionnement...
Je vais revoir le calcul des chemins d'accès... qui est un peu plus
complexe que dans le modèle...

"FFO"
Rebonjours à toi

Il faut cerner l'origine de l'anomalie

Si je comprends bien ta macro seule dans un nouveau document fonctionne
Tu me confirmes ???

Dans cet hypothèse je partirai de cette base et reprendrai une par une
dans
ce nouveau classeur les différentes composantes de celui d'origine en
testant
entre chacune d'elles l'état de fonctionnement la macro
Celà devrait cerner normalement le coupable

Réalises l'opération et donnes nous le résultat


J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je retombe
sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne
parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de
même
? (10 feuilles, 40 macros, ...)

"FFO"
Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il
plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER,
FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment
d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les
références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac






















Jac
Le #4900831
C'est même pas ça : en faisant tourner la macro pas à pas, je perds le focus
sur le fichier Word, donc quand il s'agit d'enregistrer, Excel ne sait plus
où il en est !!!

Donc même si le code est bon, ça peut ne pas fonctionner. C'est tout de même
un comble... que de chercher l'erreur dans une syntaxe qui est
rigoureusement juste !!!
Et de plus, qui fonctionne dans certains cas (C:...).

"Jac"
Ça y est ! Je n'ai pas encore la solution, mais le problème est lié au
chemin d'accès à mon modèle car quand j'ouvre un modèle situé à la racine
du C, ça se passe sans grincements de dents.

Merci encore pour ta contribution.

Jac

"Jac" %
Eh oui, la macro seule dans un nouveau fichier fonctionne et quand je
rappatrie les feuilles et les macros, ça marche encore. Je ne comprends
plus très bien ce disfonctionnement...
Je vais revoir le calcul des chemins d'accès... qui est un peu plus
complexe que dans le modèle...

"FFO"
Rebonjours à toi

Il faut cerner l'origine de l'anomalie

Si je comprends bien ta macro seule dans un nouveau document fonctionne
Tu me confirmes ???

Dans cet hypothèse je partirai de cette base et reprendrai une par une
dans
ce nouveau classeur les différentes composantes de celui d'origine en
testant
entre chacune d'elles l'état de fonctionnement la macro
Celà devrait cerner normalement le coupable

Réalises l'opération et donnes nous le résultat


J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je
retombe sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne
parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de
même
? (10 feuilles, 40 macros, ...)

"FFO" news:

Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il
plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER,
FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment
d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les
références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac


























MichDenis
Le #4900821
Essaie ceci : Il n'y a aucune raison que cela ne fonctionne pas.

Ce type de code fait référence à une liaison tardive (au moment
de l'exécution) avec l'application Word. Conséquemment, ne
déclare pas la référence Word dans la fenêtre Références de
l'éditeur de code... cette procédure pourra s'exécuter peu importe
la version d'excel installée sur l'ordinateur.

'-----------------------------
Sub test()
Dim Wd As Object, Dc As Object
Dim Chemin As String, Fichier As String
'Ton classeur se doit d'avoir été enregistré au moins une fois.
Chemin = ThisWorkbook.Path & ""
Fichier = "Origine.dot"

Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(Chemin & Fichier)
NOUVEAU_FICHIER = Chemin & "test.doc"
Dc.SaveAs NOUVEAU_FICHIER
Set Dc = Nothing: Set Wd = Nothing
End Sub
'-----------------------------





"Jac" C'est même pas ça : en faisant tourner la macro pas à pas, je perds le focus
sur le fichier Word, donc quand il s'agit d'enregistrer, Excel ne sait plus
où il en est !!!

Donc même si le code est bon, ça peut ne pas fonctionner. C'est tout de même
un comble... que de chercher l'erreur dans une syntaxe qui est
rigoureusement juste !!!
Et de plus, qui fonctionne dans certains cas (C:...).

"Jac"
Ça y est ! Je n'ai pas encore la solution, mais le problème est lié au
chemin d'accès à mon modèle car quand j'ouvre un modèle situé à la racine
du C, ça se passe sans grincements de dents.

Merci encore pour ta contribution.

Jac

"Jac" %
Eh oui, la macro seule dans un nouveau fichier fonctionne et quand je
rappatrie les feuilles et les macros, ça marche encore. Je ne comprends
plus très bien ce disfonctionnement...
Je vais revoir le calcul des chemins d'accès... qui est un peu plus
complexe que dans le modèle...

"FFO"
Rebonjours à toi

Il faut cerner l'origine de l'anomalie

Si je comprends bien ta macro seule dans un nouveau document fonctionne
Tu me confirmes ???

Dans cet hypothèse je partirai de cette base et reprendrai une par une
dans
ce nouveau classeur les différentes composantes de celui d'origine en
testant
entre chacune d'elles l'état de fonctionnement la macro
Celà devrait cerner normalement le coupable

Réalises l'opération et donnes nous le résultat


J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je
retombe sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne
parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de
même
? (10 feuilles, 40 macros, ...)

"FFO" news:

Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il
plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path & "Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER,
FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment
d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les
références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac


























Jac
Le #4899791
Bonjour MichDenis,

j'ai suivi tes conseils et ça fonctionne parfaitement avec des petits .dot
de test.
Mais quand je lance le vrai .dot avec 9 pages, une cinquantaine de champs de
fusion sur un seul enregistrement (xls) et quelques manipulation par marcro
word à la création d'un nouveau doc basé sur le dot (réattachement de la
base de données, transformation des champs calculés en texte, traitement des
dates pour passer le "er" de 1er en exposant, ...).
Le .dot s'ouvre et après toutes les manips, Excel annonce une erreur
d'exécution '13' : Incompatibilité de type. Je l'ai contournée avec un "On
error resume next" suivi d'un "On error goto 0", mais quand arrive le moment
d'enregistrer le doc qui est parfaitement fonctionnel, le Vba d'Excel me
renvoie une erreur d'exécution '424' : Objet requis.

Et là, je coince une peu...

"MichDenis" %
Essaie ceci : Il n'y a aucune raison que cela ne fonctionne pas.

Ce type de code fait référence à une liaison tardive (au moment
de l'exécution) avec l'application Word. Conséquemment, ne
déclare pas la référence Word dans la fenêtre Références de
l'éditeur de code... cette procédure pourra s'exécuter peu importe
la version d'excel installée sur l'ordinateur.

'-----------------------------
Sub test()
Dim Wd As Object, Dc As Object
Dim Chemin As String, Fichier As String
'Ton classeur se doit d'avoir été enregistré au moins une fois.
Chemin = ThisWorkbook.Path & ""
Fichier = "Origine.dot"

Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(Chemin & Fichier)
NOUVEAU_FICHIER = Chemin & "test.doc"
Dc.SaveAs NOUVEAU_FICHIER
Set Dc = Nothing: Set Wd = Nothing
End Sub
'-----------------------------





"Jac" %
C'est même pas ça : en faisant tourner la macro pas à pas, je perds le
focus
sur le fichier Word, donc quand il s'agit d'enregistrer, Excel ne sait
plus
où il en est !!!

Donc même si le code est bon, ça peut ne pas fonctionner. C'est tout de
même
un comble... que de chercher l'erreur dans une syntaxe qui est
rigoureusement juste !!!
Et de plus, qui fonctionne dans certains cas (C:...).

"Jac"
Ça y est ! Je n'ai pas encore la solution, mais le problème est lié au
chemin d'accès à mon modèle car quand j'ouvre un modèle situé à la racine
du C, ça se passe sans grincements de dents.

Merci encore pour ta contribution.

Jac

"Jac" %
Eh oui, la macro seule dans un nouveau fichier fonctionne et quand je
rappatrie les feuilles et les macros, ça marche encore. Je ne comprends
plus très bien ce disfonctionnement...
Je vais revoir le calcul des chemins d'accès... qui est un peu plus
complexe que dans le modèle...

"FFO"
Rebonjours à toi

Il faut cerner l'origine de l'anomalie

Si je comprends bien ta macro seule dans un nouveau document fonctionne
Tu me confirmes ???

Dans cet hypothèse je partirai de cette base et reprendrai une par une
dans
ce nouveau classeur les différentes composantes de celui d'origine en
testant
entre chacune d'elles l'état de fonctionnement la macro
Celà devrait cerner normalement le coupable

Réalises l'opération et donnes nous le résultat


J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je
retombe sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne
parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de
même
? (10 feuilles, 40 macros, ...)

"FFO" news:

Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il
plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path &
"Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER,
FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment
d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les
références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac
















MichDenis
Le #4899761
A ) Ton problème est lié à Word => Il y a un forum à cet effet.

B ) Je n'ai pas de fichier modèle Word qui ressemble à ton fichier
pour effectuer des tests

C ) Est-ce que ta version Microsoft Office est à jour ou est-ce un bug ?




"Jac" Bonjour MichDenis,

j'ai suivi tes conseils et ça fonctionne parfaitement avec des petits .dot
de test.
Mais quand je lance le vrai .dot avec 9 pages, une cinquantaine de champs de
fusion sur un seul enregistrement (xls) et quelques manipulation par marcro
word à la création d'un nouveau doc basé sur le dot (réattachement de la
base de données, transformation des champs calculés en texte, traitement des
dates pour passer le "er" de 1er en exposant, ...).
Le .dot s'ouvre et après toutes les manips, Excel annonce une erreur
d'exécution '13' : Incompatibilité de type. Je l'ai contournée avec un "On
error resume next" suivi d'un "On error goto 0", mais quand arrive le moment
d'enregistrer le doc qui est parfaitement fonctionnel, le Vba d'Excel me
renvoie une erreur d'exécution '424' : Objet requis.

Et là, je coince une peu...

"MichDenis" %
Essaie ceci : Il n'y a aucune raison que cela ne fonctionne pas.

Ce type de code fait référence à une liaison tardive (au moment
de l'exécution) avec l'application Word. Conséquemment, ne
déclare pas la référence Word dans la fenêtre Références de
l'éditeur de code... cette procédure pourra s'exécuter peu importe
la version d'excel installée sur l'ordinateur.

'-----------------------------
Sub test()
Dim Wd As Object, Dc As Object
Dim Chemin As String, Fichier As String
'Ton classeur se doit d'avoir été enregistré au moins une fois.
Chemin = ThisWorkbook.Path & ""
Fichier = "Origine.dot"

Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(Chemin & Fichier)
NOUVEAU_FICHIER = Chemin & "test.doc"
Dc.SaveAs NOUVEAU_FICHIER
Set Dc = Nothing: Set Wd = Nothing
End Sub
'-----------------------------





"Jac" %
C'est même pas ça : en faisant tourner la macro pas à pas, je perds le
focus
sur le fichier Word, donc quand il s'agit d'enregistrer, Excel ne sait
plus
où il en est !!!

Donc même si le code est bon, ça peut ne pas fonctionner. C'est tout de
même
un comble... que de chercher l'erreur dans une syntaxe qui est
rigoureusement juste !!!
Et de plus, qui fonctionne dans certains cas (C:...).

"Jac"
Ça y est ! Je n'ai pas encore la solution, mais le problème est lié au
chemin d'accès à mon modèle car quand j'ouvre un modèle situé à la racine
du C, ça se passe sans grincements de dents.

Merci encore pour ta contribution.

Jac

"Jac" %
Eh oui, la macro seule dans un nouveau fichier fonctionne et quand je
rappatrie les feuilles et les macros, ça marche encore. Je ne comprends
plus très bien ce disfonctionnement...
Je vais revoir le calcul des chemins d'accès... qui est un peu plus
complexe que dans le modèle...

"FFO"
Rebonjours à toi

Il faut cerner l'origine de l'anomalie

Si je comprends bien ta macro seule dans un nouveau document fonctionne
Tu me confirmes ???

Dans cet hypothèse je partirai de cette base et reprendrai une par une
dans
ce nouveau classeur les différentes composantes de celui d'origine en
testant
entre chacune d'elles l'état de fonctionnement la macro
Celà devrait cerner normalement le coupable

Réalises l'opération et donnes nous le résultat


J'ai repris toutes mes feuilles et toutes mes macros dans un nouveau
classeur, j'ai réactivé Microsoft Word 10.0 Object library et je
retombe sur
le même message "Variable... non définie".
Pourquoi il s'acharne comme celà ???


"Jac"
Merci FFO,
c'est vrai que dans un nouveau fichier Excel, ça fonctionne
parfaitement.
Que dois-je faire dans mon classeur de travail pour qu'il en soit de
même
? (10 feuilles, 40 macros, ...)

"FFO" news:

Bonjours Jac
Ton code chez moi fonctionne bien
Je me hasarde une idée
Essaies ton code dans un document Excel vierge peut être sera t'il
plus
coopératif et d'incrimer l'intégriter de celui existant

Toujours à tenter


Bonjour à tous,

depuis le vba d'XL, j'ouvre un modèle Word et je l'enregistre.
----------------------------------
....
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
Set Dc = Wd.Documents.Add(ActiveWorkbook.Path &
"Origine.dot")
NOUVEAU_FICHIER = ActiveWorkbook.Path & "test.doc"
Dc.SaveAs Filename:=NOUVEAU_FICHIER,
FileFormat:=wdFormatDocument
Set Dc = Nothing: Set Wd = Nothing
....
-----------------------------------
Ça a fonctionné, mais maintenant, quand c'est le moment
d'enregistrer,
j'ai
droit à un laconique "Variable objet ou variable de bloc With non
définie".
Microsoft Word 10.0 Object library est bien activé dans les
références
Vba.

Que dois-je faire pour que ça refonctionne ?

Merci d'avance.

Jac
















Publicité
Poster une réponse
Anonyme