bonjour,
je ne suis pas très doué, mais j essaie d'avancer. Je vous prie de m'excuser car j arrive pas à comprendre vraiment le VBA, j essaie depuis des années, mais mon cerveau ne veut pas trop j ai l'impression
ma problématique est la suivante:
1 - je veux faire une boucle pour que les signets sur modele word soient remplacés par des valeurs de mes champs d'un formulaire access
2 -je veux que les signets : signet_position1 et signet_position2 et signet_position3
ainsi que les signets : signet_classement1 et signet_classement2 et signet_classement3 soient remplacées par les valeurs des champs (les champs ont des noms identique d'où mon j &i
(3 - ceci est un exemple car il y aura beaucoup de signets et beaucoup de champs...)
je me demande s'il ne faut pas utiliser fonction case, mais je n' arrive pas.
peut être que c est une autre fonction qu'il faut ?
au résultat je dois avoir:
signet_position1
signet_position2
signet_position3
signet_classement1
signet_classement2
signet_classement3
le code de la boucle est le suivant
mon code en entier est le suivant:
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 For i = 1 To 3 For j = 1 To 2 Select Case j Case 1 = "signet_position" Case 2 = "signet_classement" Case Else .ActiveDocument.Bookmarks(j & i).Range.Text = j & i End Select Next j Next i
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 Private Sub Commande20_Click() 'Creation of some variables Dim word_Appl As Word.Application Dim word_Doc As Word.Document Dim PathToWord_template_doc As String Dim Title_Of_WordDoc As String Dim Author_Of_WordDoc As String Dim i As Integer 'Deklaration of the variables PathToWord_template_doc = "F:\ESSAI PROG\codelettreimbriquer\S1etScetSpa.dotx" Title_Of_WordDoc = "Example Word Document" Author_Of_WordDoc = "momo" Set word_Appl = CreateObject("Word.Application") Set word_Doc = word_Appl.Documents.Add(Template:=PathToWord_template_doc) word_Appl.Visible = False With word_Appl 'Here you make the assignments bookmark in Word to Field.value in formular 'Attention1: names for placeholder in word document must diffrend to 'the name of fields in formular 'Attention2: Each placeholder in word document can use only one time '1 - je veux faire une boucle pour que les signets sur modele word soient remplacés 'par des valeurs de mes champs d'un formulaire access ' 2 -je veux que les signets : signet_position1 et signet_position2 et signet_position3 ' ainsi que les signets : signet_classement1 et signet_classement2 et signet_classement3 'soient remplacées par les valeurs des champs (les champs ont des noms identique d'où mon j &i '3 - ceci est un exemple car il y aura beacoup de signets et beaucoup de champs... For i = 1 To 3 For j = 1 To 2 Select Case j Case 1 = "signet_position" Case 2 = "signet_classement" Case Else .ActiveDocument.Bookmarks(j & i).Range.Text = j & i End Select Next j Next i .Visible = True .WindowState = 1 'wdWindowStateMaximize .Activate .ShowMe .ActiveDocument.BuiltInDocumentProperties("Title").Value = Title_Of_WordDoc .ActiveDocument.BuiltInDocumentProperties("Author").Value = Author_Of_WordDoc End With 'to untouch the word template Set word_Doc = Nothing Set word_Appl = Nothing End Sub
cela est il possible ?
merci par avance pour votre réponse
Partager