Bonjour,

je suis nouveau venu sur le forum et me voici avec une première question :

Je vais essayer d'être clair :

J'ai un formulaire basé sur une table dans lequel je souhaite créer un procédure pour préparer des courriers types en word. Il ne s'agit pas d'un mailing, les données du courrier sont issues d'un seul enregistrement. Dans word j'utilise les signets.

Tout va bien sauf pour une donnée à extraire : il s'agit d'une donnée issue d'une autre table, liée à ma table principale (table 1 = dossiers ; table liée = type dossiers, 3 champs : "no_type", "type", "type abr" ; clef primaire = no_type). Dans mon formulaire, j'ai une liste de choix basée sur ma table liée, faisant apparaître le second champ (type).

Dans mon code, "me.no_type" est OK mais "me.type" donne une erreur car la donnée est à prendre dans la table liée et c'est là que je coince.

J'avoue que je débute.

J'ai essayé d'être complet. D'avance merci de votre aide.

Voici le code :
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
 
Private Sub locimFR_Click()
 
Dim strchemin As String
Dim myword As Word.Application
Dim mydoc As Word.Document
 
strchemin = CurrentProject.Path
Set myword = CreateObject("word.application")
Set mydoc = myword.Documents.Open(strchemin & "\locilFR.doc")
 
myword.Visible = True
 
mydoc.Bookmarks("coo_dest1").Range.InsertAfter Me.pol_loc & " " & Me.nom_loc
mydoc.Bookmarks("pol_dest1").Range.InsertAfter Me.pol_loc
mydoc.Bookmarks("pol_dest2").Range.InsertAfter Me.pol_loc
mydoc.Bookmarks("no_doss").Range.InsertAfter Me.no_doss
mydoc.Bookmarks("no_doss2").Range.InsertAfter Me.no_doss
mydoc.Bookmarks("type").Range.InsertAfter Me.Type 'ici ça coince car table liée
mydoc.Bookmarks("type").Range.InsertAfter Me.no_type 'ceci fonctionne car champ de table principale
mydoc.Bookmarks("adr_dest").Range.InsertAfter Me.rue_doss & Chr(13) & Me.cp_doss & "    -   " & Me.com_doss
mydoc.Bookmarks("adr_doss").Range.InsertAfter Me.rue_doss & " à " & Me.cp_doss & " " & Me.com_doss
mydoc.Bookmarks("coo_loc").Range.InsertAfter Me.pol_loc & " " & Me.nom_loc
 
myword.Dialogs(wdDialogFileSaveAs).Show
 
 
Set myword = Nothing
Set mydoc = Nothing
 
End Sub