erreur de syntaxe

Le
magic-dd
bonjour

dans ma macro voila ce que j'ai

Index = UserForm1.ComboBox1.Value

ce qui me donne le nom inscrit dans mon combobox

a la fin de ma macro, il m'a ouvert un doc word

ensuite je lui demande d'enregistrer ce nouveau fichier word avec la
commande suivante

DocWord.Close savechanges:=True, Filename:=(UserForm1.ComboBox1.Value
& .doc)

cependant il plante dans le deroulement de la macro

merci de m'aider sur cette syntaxe

cordialement
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
Daniel.C
Le #20441631
Bonjour.
Peut-être :
DocWord.Close savechanges:=True, Filename:=(UserForm1.ComboBox1.Value
& ".doc")
Cordialement.
Daniel

bonjour

dans ma macro voila ce que j'ai

Index = UserForm1.ComboBox1.Value

ce qui me donne le nom inscrit dans mon combobox

a la fin de ma macro, il m'a ouvert un doc word

ensuite je lui demande d'enregistrer ce nouveau fichier word avec la
commande suivante

DocWord.Close savechanges:=True, Filename:=(UserForm1.ComboBox1.Value
& .doc)

cependant il plante dans le deroulement de la macro

merci de m'aider sur cette syntaxe

cordialement


magic-dd
Le #20442301
merci

j'ai bien essayé cela mais ça ne fonctionne pas
Daniel.C
Le #20442631
Tu ne peux pas mettre le nom du fichier avec "close"; mets :

DocWord.SaveAs UserForm1.ComboBox1.Value & ".doc"
DocWord.close

Daniel

merci

j'ai bien essayé cela mais ça ne fonctionne pas


magic-dd
Le #20443391
bonsoir

la syntaxe est bonne mais cela renomme mon fichier word qui servait au
publipostage

le but de ma demande est d'enregistrer le nouveau document issu du
publipostage dans le meme dossier que mon fichier excel avec le nom du
combobox

voici donc la fin de mon code depuis le publipostage

Dim AppWord As Word.Application
Set AppWord = New Word.Application
AppWord.Visible = False 'True
Set docword = AppWord.Documents.Open(FileMailing)
NomBase = Chemin & "Temp.xls"
With docword.MailMerge

.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver
(*.xls)};" & "DBQ=" & _
NomBase & "; ReadOnly=True;",
SQLStatement:="SELECT * FROM [publi$] "

'Spécifie la fusion vers un nouveau document (wdSendToPrinter=
Vers l'imprimante)

.Destination = wdSendToNewDocument

'Prend en compte l'ensemble des enregistrements

With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With

'Exécute l'opération de publipostage

.Execute Pause:úlse
End With

' Activation du document principal de Publipostage et fermeture

docword.Activate
docword.Close savechanges:úlse

' Affichage l'application Word

AppWord.Visible = True

Set docword = Nothing
Set AppWord = Nothing

------------------------------------------------------ a ce moment
reste mon doc word publiposté qui se nomme lettreType 1

j'aimerai qu'il garde la syntaxe DocWord.SaveAs
UserForm1.ComboBox1.Value & ".doc"
DocWord.close


' Activation de l'onglet
' Effacement du fichier temporaire crée spécialement pour la
fusion
Kill Chemin & "temp.xls"
Application.ScreenUpdating = True
end sub


merci de votre aide
Daniel.C
Le #20443791
Vraiment au nez, car je ne peux pas tester :

Dim AppWord As Word.Application
Set AppWord = New Word.Application
AppWord.Visible = False 'True
Set docword = AppWord.Documents.Open(FileMailing)
NomBase = Chemin & "Temp.xls"
With docword.MailMerge

.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver
(*.xls)};" & "DBQ=" & _
NomBase & "; ReadOnly=True;",
SQLStatement:="SELECT * FROM [publi$] "

'Spécifie la fusion vers un nouveau document (wdSendToPrinter Vers l'imprimante)

.Destination = wdSendToNewDocument

'Prend en compte l'ensemble des enregistrements

With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With

'Exécute l'opération de publipostage

.Execute Pause:úlse
End With

' Activation du document principal de Publipostage et fermeture

docword.Activate
docword.Close savechanges:úlse

' Affichage l'application Word

AppWord.Visible = True

'le document à sauvegarder étant le document actif :
Set DocWord = WdApp.activedocument
DocWord.SaveAs UserForm1.ComboBox1.Value & ".doc"
DocWord.close
Set DocWord = Nothing
Set WdApp = Nothing

Daniel

Dim AppWord As Word.Application
Set AppWord = New Word.Application
AppWord.Visible = False 'True
Set docword = AppWord.Documents.Open(FileMailing)
NomBase = Chemin & "Temp.xls"
With docword.MailMerge

.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver
(*.xls)};" & "DBQ=" & _
NomBase & "; ReadOnly=True;",
SQLStatement:="SELECT * FROM [publi$] "

'Spécifie la fusion vers un nouveau document (wdSendToPrinter > Vers l'imprimante)

.Destination = wdSendToNewDocument

'Prend en compte l'ensemble des enregistrements

With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With

'Exécute l'opération de publipostage

.Execute Pause:úlse
End With

' Activation du document principal de Publipostage et fermeture

docword.Activate
docword.Close savechanges:úlse

' Affichage l'application Word

AppWord.Visible = True

Set docword = Nothing
Set AppWord = Nothing


magic-dd
Le #20444811
bonjour daniel et merci

pour un truc à vu de nez je dis chapeau,c'est tout bon

juste change Wdapp par Appwd,mais rien de grave.

en revanche, pourquoi m'enregistre t il mon document dans le dossier
"mes documents"

pourquoi ne pas le laisser dans l'activeworkbook.path

et à la fin l'application word ne se ferme pas aussi

merci de ton aide
Daniel.C
Le #20445791
Bonjour.
Remplace la fin de la macro par :

'le document à sauvegarder étant le document actif :
Set DocWord = AppWord.activedocument
DocWord.SaveAs Chemin & UserForm1.ComboBox1.Value & ".doc"
DocWord.Close
AppWord.Quit
Set DocWord = Nothing
Set AppWord = Nothing

Daniel


bonjour daniel et merci

pour un truc à vu de nez je dis chapeau,c'est tout bon

juste change Wdapp par Appwd,mais rien de grave.

en revanche, pourquoi m'enregistre t il mon document dans le dossier
"mes documents"

pourquoi ne pas le laisser dans l'activeworkbook.path

et à la fin l'application word ne se ferme pas aussi

merci de ton aide


magic-dd
Le #20447121
RE bonjour daniel

merci pour ton aide très précieuse

cela a fonctionné parfaitement

j'ai juste rajouté un "" pour le mettre dans un autre dossier

euh si je peux me permettre comment lui dire de prendre l'unique
fichier word compris dans le dossier qui est ma base pour mon
publipostage

car apres cette ligne

FileMailing = Application.GetOpenFilename("Fichiers
Word,*.doc", , , , False)

il m'ouvre l'explorateur et je dois aller chercher mon document
manuellement

donc si ca pouvait aller le chercher dans chemin & MonFichier.doc ca
serait plus facile pour l'utilisateur final

merci
Daniel.C
Le #20448011
Bonjour.
Mets :
AppWord.Documents.Open Chemin & &"monfichier.doc"
Daniel


RE bonjour daniel

merci pour ton aide très précieuse

cela a fonctionné parfaitement

j'ai juste rajouté un "" pour le mettre dans un autre dossier

euh si je peux me permettre comment lui dire de prendre l'unique
fichier word compris dans le dossier qui est ma base pour mon
publipostage

car apres cette ligne

FileMailing = Application.GetOpenFilename("Fichiers
Word,*.doc", , , , False)

il m'ouvre l'explorateur et je dois aller chercher mon document
manuellement

donc si ca pouvait aller le chercher dans chemin & MonFichier.doc ca
serait plus facile pour l'utilisateur final

merci


magic-dd
Le #20448691
bonjour daniel

j'ai bien remplacé par ce que tu m'a dis mais j'ai une erreur
d'execution 9

variable objet ou variable de bloc with non definie

avant j'avais ça

Dim AppWord As Word.Application

'FileMailing = Application.GetOpenFilename("Fichiers
Word,*.doc", , , , False)

If FileMailing = False Then End


et apres modif j'ai inscrit ça


Dim AppWord As Word.Application

FileMailing = AppWord.Documents.Open(Chemin & "Doc2.doc")

If FileMailing = False Then End
bref ca bug et heureusement qu'il fait beau car la je patauge :)

merci
Publicité
Poster une réponse
Anonyme