bonjour à tous
je recherche le moyen de créer un courrier type word 2007 partir d'une fiche formulaire access 20007, pour retrouver simplement nom et adresse du destinataire dans un modèle word.
Qui aurait une piste à me donner?
Bonne soiré
A+
bonjour à tous
je recherche le moyen de créer un courrier type word 2007 partir d'une fiche formulaire access 20007, pour retrouver simplement nom et adresse du destinataire dans un modèle word.
Qui aurait une piste à me donner?
Bonne soiré
A+
Bonsoir Samsab,
Tu peux faire un export *.rtf de ton aperçu avant impression. Tu perds alors la mise en page (trait, cadre, etc.) mais si tu ne veux que le texte, cela devrait te suffir.
Cordialement
Christophe
Cordialement
Christophe
N'oubliez pas de mettre pour en faire profiter tout le monde.
hello
c'est à priori pas la fonction que je recherche; j'aimerais, en partant d'un formulaire et donc de la fiche considérée, pour voir appuyer sur un bouton inclus dans cette fiche pour atterrir directement sur word, dans un courrier intégrant entete et pied de page, et surtout, les coordonnées de destinataire venant de la fiche access.
merci pour vos conseils
Bonsoir,
Alors, je penses que la meilleure solution serait de s'orienter sur du publipostage commandé à partir d'Access et basé sur un modèle Word, lui même stocké dans le même répertoire que ton application.
Tu peux lancer un publipostage qui se connecte soit à une table ou une requête de ton application.
Cordialement
Christophe
Cordialement
Christophe
N'oubliez pas de mettre pour en faire profiter tout le monde.
dans le principe tu as raison; il s'agit "simplement" d'arriver directement sur le bon enregistrement word en fonction publipostage.
sauf que le "simplement" est bien compliqué pour moi.
Bonsoir,
Je m'attendais à cette réponse.
Alors voici un exemple, je n'ai pas eu le temps de le retesté mais cela devrait aller.
Ceci implique que ton fichier modèle de publipostage est déjà configuré pour recevoir les valeur de champs. Il y a des tutos là dessus. Eventuellement, cherche sur une FAQ Word.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Sub PublipostageWord(StrFichier As String) 'StrFichier = "Le chemin de destination de ton publipostage avec une boite de dialogue Enregistrer sous par exemple" 'Publipostage par connection direct à Access Dim StrPubDoc As String Dim StrBDD As String StrPubDoc = CurrentProject.Path & "\TemplateDoc\MonDoc.doc" 'Chemin du fichier modele de publipostage StrBDD = CurrentProject.FullName 'Chemin de la base de données en cours 'Démarrer Word Set Wdapp = CreateObject("Word.application") 'Création d'une instance Word With Wdapp .Visible = False 'Word est invisible 'Ouvrir le document .Documents.Open FileName:=StrPubDoc, ReadOnly:=False 'Ouverture du fichier modèle en mode création 'Connection avec la source de données filtrée .ActiveDocument.MailMerge.OpenDataSource Name:=NomBase, _ Connection:="Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=" & StrBDD & "; ReadOnly=false;", _ SQLStatement:="SELECT * FROM [Rq_Export]WHERE ID=" & Me.MonForm.Id .ActiveDocument.MailMerge.Execute 'Création du fusionnage .Documents(StrPubDoc).Close wdDoNotSaveChanges 'Ferme le fichier modèle de publipostage sans l'enregistrer .ActiveDocument.SaveAs StrFichier 'Enregistre le fichier fusionné .Documents(StrFichier).Close wdSaveChanges 'Ferme le fichier fusionné End With Wdapp.Quit 'Quitte Word 'Fermer et libérer les objets Set Wdapp = Nothing End Sub
Tu n'as plus qu'à changer le nom de MonDoc.doc et MonForm.ID si ta clé primaire s'appelle autrement.
Avec çà, tu devrais arriver à quelque chose. Si problème, n'hésites pas à demander, la FAQ est faite pour çà. Je suis dans la zone jusqu'aux alentours de 23H00.
Cordialement
Christophe
Cordialement
Christophe
N'oubliez pas de mettre pour en faire profiter tout le monde.
hello
cela merdouille pour une raison certainement évidente mais qui m'échappe
j'ai donc mis ton code en propriété d'un bouton, et il a fallu rajouter à ton code la première ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Private Sub Commande111_Click() Sub PublipostageWord(StrFichier As String) 'StrFichier = "Le chemin de destination de ton publipostage avec une boite de dialogue Enregistrer sous par exemple" 'Publipostage par connection direct à Access Dim StrPubDoc As String Dim StrBDD As String StrPubDoc = CurrentProject.Path & "\TemplateDoc\MonDoc.doc" 'Chemin du fichier modele de publipostage StrBDD = CurrentProject.FullName 'Chemin de la base de données en cours 'Démarrer Word Set Wdapp = CreateObject("Word.application") 'Création d'une instance Word With Wdapp .Visible = False 'Word est invisible 'Ouvrir le document .Documents.Open FileName:=StrPubDoc, ReadOnly:=False 'Ouverture du fichier modèle en mode création 'Connection avec la source de données filtrée .ActiveDocument.MailMerge.OpenDataSource Name:=NomBase, _ Connection:="Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=" & StrBDD & "; ReadOnly=false;", _ SQLStatement:="SELECT * FROM [Rq_Export]WHERE ID=" & Me.MonForm.Id .ActiveDocument.MailMerge.Execute 'Création du fusionnage .Documents(StrPubDoc).Close wdDoNotSaveChanges 'Ferme le fichier modèle de publipostage sans l'enregistrer .ActiveDocument.SaveAs StrFichier 'Enregistre le fichier fusionné .Documents(StrFichier).Close wdSaveChanges 'Ferme le fichier fusionné End With Wdapp.Quit 'Quitte Word 'Fermer et libérer les objets Set Wdapp = Nothing End Sub
le tout merdoie allègrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Sub Commande111_Click()
une idée?
A+
Voilà la réponse à ton problème :
Codialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Private Sub Commande111_Click() Call PublipostageWord(Le chemin de destination de ton fichier.doc) En Sub Private Sub PublipostageWord(StrFichier As String) 'StrFichier = "Le chemin de destination de ton publipostage avec une boite de dialogue Enregistrer sous par exemple" 'Publipostage par connection direct à Access Dim StrPubDoc As String Dim StrBDD As String StrPubDoc = CurrentProject.Path & "\TemplateDoc\MonDoc.doc" 'Chemin du fichier modele de publipostage StrBDD = CurrentProject.FullName 'Chemin de la base de données en cours 'Démarrer Word Set Wdapp = CreateObject("Word.application") 'Création d'une instance Word With Wdapp .Visible = False 'Word est invisible 'Ouvrir le document .Documents.Open FileName:=StrPubDoc, ReadOnly:=False 'Ouverture du fichier modèle en mode création 'Connection avec la source de données filtrée .ActiveDocument.MailMerge.OpenDataSource Name:=NomBase, _ Connection:="Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=" & StrBDD & "; ReadOnly=false;", _ SQLStatement:="SELECT * FROM [Rq_Export]WHERE ID=" & Me.MonForm.Id .ActiveDocument.MailMerge.Execute 'Création du fusionnage .Documents(StrPubDoc).Close wdDoNotSaveChanges 'Ferme le fichier modèle de publipostage sans l'enregistrer .ActiveDocument.SaveAs StrFichier 'Enregistre le fichier fusionné .Documents(StrFichier).Close wdSaveChanges 'Ferme le fichier fusionné End With Wdapp.Quit 'Quitte Word 'Fermer et libérer les objets Set Wdapp = Nothing End Sub
Christophe
Cordialement
Christophe
N'oubliez pas de mettre pour en faire profiter tout le monde.
Bonjour,
je viens de créer un formulaire sous access 2013 nommé RESULTAT, et créer un document word avec publipostage nommé SITU.docx.
pour imprimer à partir du formulaire avec boton click, j'ai procédé comme suivant etape par etape:
1- j'ai ouvert mon formulaire en mode creation;
2- j'ai ajouté un boton click qui s'appelle commande238, puis cliquer sur annuler, puis cliquer sur sur click, puis generateur code, et un editeur de code VBA s'ouvre:
3- code que j'ai écrit est ci-dessous, puis j'ai fait enregistrer et par la suite fermer l'editeur et revenir sur le mode formulaire, mais lorsque je clique sur mon boton creé rien ne se passe, aidez moi SVP ! :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Private Sub Commande238_Click() Call PublipostageWord(Le chemin de destination de ton fichier.doc) En Sub Private Sub PublipostageWord(StrFichier As String) 'StrFichier = "Le chemin de destination de ton publipostage avec une boite de dialogue Enregistrer sous par exemple" 'Publipostage par connection direct à Access Dim StrPubDoc As String Dim StrBDD As String StrPubDoc = CurrentProject.Path & "C:\TemplateDoc\SITU.docx" 'Chemin du fichier modele de publipostage StrBDD = CurrentProject.FullName 'Chemin de la base de données en cours 'Démarrer Word Set Wdapp = CreateObject("Word.application") 'Création d'une instance Word With Wdapp .Visible = False 'Word est invisible 'Ouvrir le document .Documents.Open FileName:=StrPubDoc, ReadOnly:=False 'Ouverture du fichier modèle en mode création 'Connection avec la source de données filtrée .ActiveDocument.MailMerge.OpenDataSource Name:=NomBase, _ Connection:="Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=" & StrBDD & "; ReadOnly=false;", _ SQLStatement:="SELECT * FROM [Rq_Export]WHERE ID=" & Me.MonForm.Id .ActiveDocument.MailMerge.Execute 'Création du fusionnage .Documents(StrPubDoc).Close wdDoNotSaveChanges 'Ferme le fichier modèle de publipostage sans l'enregistrer .ActiveDocument.SaveAs StrFichier 'Enregistre le fichier fusionné .Documents(StrFichier).Close wdSaveChanges 'Ferme le fichier fusionné End With Wdapp.Quit 'Quitte Word 'Fermer et libérer les objets Set Wdapp = Nothing End Sub
Salut,
Tu mets ton instance Word en visible =False, donc Word s'ouvre mais n’apparaît pas, essaye de mettre true et vois ce que cela donne
Merci @electrosta03 , j'ai fait Visible = True mais lorsque je clique sur mon botton une fenetre s'ouvre "erreur de compliation erreur synthaxe"
et me donne celui la en rouge: Call PublipostageWord(Le chemin de destination de ton fichier.doc)
En Sub
voici ce que çà me donne, merci de m'aider SVP, j'en ai besoin et je suis pas habituel avec visuel basic
elade
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 Private Sub Commande18_Click() End Sub Call PublipostageWord(Le chemin de destination de ton fichier.doc) En Sub Private Sub PublipostageWord(StrFichier As String) 'StrFichier = "Le chemin de destination de ton publipostage avec une boite de dialogue Enregistrer sous par exemple" 'Publipostage par connection direct à Access Dim StrPubDoc As String Dim StrBDD As String StrPubDoc = CurrentProject.Path & "C:\Users\lade\Desktop\projetaccess\doc1.docx" 'Chemin du fichier modele de publipostage StrBDD = CurrentProject.FullName 'Chemin de la base de données en cours 'Démarrer Word Set Wdapp = CreateObject("Word.application") 'Création d'une instance Word With Wdapp .Visible = True 'Word est invisible 'Ouvrir le document .Documents.Open FileName:=StrPubDoc, ReadOnly:=False 'Ouverture du fichier modèle en mode création 'Connection avec la source de données filtrée .ActiveDocument.MailMerge.OpenDataSource Name:=NomBase, _ Connection:="Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=" & StrBDD & "; ReadOnly=false;", _ SQLStatement:="SELECT * FROM [Rq_Export]WHERE ID=" & Me.MonForm.Id .ActiveDocument.MailMerge.Execute 'Création du fusionnage .Documents(StrPubDoc).Close wdDoNotSaveChanges 'Ferme le fichier modèle de publipostage sans l'enregistrer .ActiveDocument.SaveAs StrFichier 'Enregistre le fichier fusionné .Documents(StrFichier).Close wdSaveChanges 'Ferme le fichier fusionné End With Wdapp.Quit 'Quitte Word 'Fermer et libérer les objets Set Wdapp = Nothing End Sub
Salut,
Il y a une erreur dans le code, il manque un apostrophe pour la remarque
Essaie ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 End Sub Call PublipostageWord ' (Le chemin de destination de ton fichier.doc) En Sub
Bonjour,
Déjà en ce qui concerne la procédure d'appel de PublipostageWord, cooriger en :
pour le reste, il faut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub Commande18_Click() Call PublipostageWord("Le chemin de destination de ton fichier.doc") End Sub
- ajouter la reference 'Microsoft Word object n.n'
- déclarer les variables Wdapp non encore déclarrée
- vérifier/modifier le chemin de ton fichier modele de publipostage
- vérifier/modifier la requete source
- ...
C'est pas difficile , juste un peu de boulot
Cdlt
"Always look at the bright side of life." Monty Python.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager