Probème avoir une macro.

  • Initiateur de la discussion Initiateur de la discussion M.D
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M.D

XLDnaute Occasionnel
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
 
Re : Probème avoir une macro.

Re-Bonjour,

Pour répondre à la question: Qu'est ce que je veux faire ?

C'est simple ern théorie : A partir d'un fichier excel, j'aimerai à l'aide d'une macro, ouvrir rapidement mon fichier word, où ce trouve mon publipostage.

Mon fichier où se trouvera ma macro, se nomme "ORGA" (Document EXCEL). Chemin d'accés : c:\Stage\Choix\orga
Mon fichier où se trouve mon publipostage se nomme "Convention de stage" (Document Word). Chemin d'accés : c:\Stage\Imp\Convention de stage
Se qui fait la laison entre ces deux document est un fichier appelé "PREPA-IMPR-GE.XLS".
Chemin d'accés : c:\Stage\Imp\PREPA-IMPR-GE.XLS
Et pour terminer j'ai un fichier (Word) CS_ET_BDD ou de trouvent les champs de fusion
Chemin d'accés : c:\Stage\Imp\CS_ET_BDD

De nouveau merci

M.D
 
Re : Probème avoir une macro.

Re-Bonjour,

Pour répondre à la première question :

je ne sais pas car je m'arrive pas à trouver ou se situe la référence à word dans l'editeur de VBA.
NomBase = "C:\stage\imp\convention de stage.doc\labase.xls"
Pour etre un peu plus précis voila ce que j'ai déjà fait :

C'est simple ern théorie : A partir d'un fichier excel, j'aimerai à l'aide d'une macro, ouvrir rapidement mon fichier word, où ce trouve mon publipostage.

Mon fichier où se trouvera ma macro, se nomme "ORGA" (Document EXCEL). Chemin d'accés : c:\Stage\Choix\orga
Mon fichier où se trouve mon publipostage se nomme "Convention de stage" (Document Word). Chemin d'accés : c:\Stage\Imp\Convention de stage
Se qui fait la laison entre ces deux document est un fichier appelé "PREPA-IMPR-GE.XLS".
Chemin d'accés : c:\Stage\Imp\PREPA-IMPR-GE.XLS
Et pour terminer j'ai un fichier (Word) CS_ET_BDD ou de trouvent les champs de fusion
Chemin d'accés : c:\Stage\Imp\CS_ET_BDD

De nouveau merci

M.D
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
427
Réponses
5
Affichages
612
Réponses
5
Affichages
423
Réponses
0
Affichages
614
Retour