Bonjour,
Tout d'abard merci de votre disponibilité, pôur venior en aide aux personnes comme moi "novices" et ne sachant pas comment sortir d'une situation de blocage"
Donc , ...........
A partir d'une base de données sous excel, on peut facilement effectuer un publipostage à partir d'un document "Word". Très bien,parfait ca fonctionne.
Ensuite pour éviter les differentes manipulations, 'Fermer mon fichier excel dans lequel se trouve ma base de données' & 'Ouvrir mon fichier word, pour effectuer mon publipostage' , et j'aimerai, créer une macro automatisant le passage excel/word
Pour ce faire j'ai donc ecris une formule ci dessus.
Sub AllerConvention()
'
' AllerConvention Macro
' Macro enregistrée le 18/08/2008 par D.M
'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
Dim docWord As Word.document
Dim appWord As Word.Application
Dim NomBase As String
NomBase = "C:\stage\imp\convention de stage.doc\labase.xls"
Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
'Ouverture du document principal Word
Set docWord = appWord.Documents.Open("C:\stage\imp\convention de stage.doc")
'fonctionnalité de publipostage pour le document spécifié
With docWord.mailMerge
'Ouvre la base de données
.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & NomBase & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [Feuil1$]"
'Spécifie la fusion vers l'imprimante
.Destination = wdSendToPrinter
.suppressBlankLines = True
'Prend en compte l'ensemble des enregistrements
With .DataSource
.firstRecord = wdDefaultFirstRecord
.lastRecord = wdDefaultLastRecord
End With
'Exécute l'opération de publipostage
.Execute Pause:=False
End With
Application.ScreenUpdating = True
'Fermeture du document Word
docWord.Close False
appWord.Quit
End Sub
Mais voilà, lors de l'execution de cette dernière un mesage d'erreur s'affiche en m'indiquant qu'il y a une erreur de complilation et de synthase, à la ligne D
Dim docWord As Word.document
Quelle est la bonne synthase,?
je travaille sur la version 2003
Merci
M.D
Tout d'abard merci de votre disponibilité, pôur venior en aide aux personnes comme moi "novices" et ne sachant pas comment sortir d'une situation de blocage"
Donc , ...........
A partir d'une base de données sous excel, on peut facilement effectuer un publipostage à partir d'un document "Word". Très bien,parfait ca fonctionne.
Ensuite pour éviter les differentes manipulations, 'Fermer mon fichier excel dans lequel se trouve ma base de données' & 'Ouvrir mon fichier word, pour effectuer mon publipostage' , et j'aimerai, créer une macro automatisant le passage excel/word
Pour ce faire j'ai donc ecris une formule ci dessus.
Sub AllerConvention()
'
' AllerConvention Macro
' Macro enregistrée le 18/08/2008 par D.M
'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
Dim docWord As Word.document
Dim appWord As Word.Application
Dim NomBase As String
NomBase = "C:\stage\imp\convention de stage.doc\labase.xls"
Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
'Ouverture du document principal Word
Set docWord = appWord.Documents.Open("C:\stage\imp\convention de stage.doc")
'fonctionnalité de publipostage pour le document spécifié
With docWord.mailMerge
'Ouvre la base de données
.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & NomBase & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [Feuil1$]"
'Spécifie la fusion vers l'imprimante
.Destination = wdSendToPrinter
.suppressBlankLines = True
'Prend en compte l'ensemble des enregistrements
With .DataSource
.firstRecord = wdDefaultFirstRecord
.lastRecord = wdDefaultLastRecord
End With
'Exécute l'opération de publipostage
.Execute Pause:=False
End With
Application.ScreenUpdating = True
'Fermeture du document Word
docWord.Close False
appWord.Quit
End Sub
Mais voilà, lors de l'execution de cette dernière un mesage d'erreur s'affiche en m'indiquant qu'il y a une erreur de complilation et de synthase, à la ligne D
Dim docWord As Word.document
Quelle est la bonne synthase,?
je travaille sur la version 2003
Merci
M.D