Bonjour;
j'ai un onglet sur mon formulaire que quand je clic dessus il sauvegarde et imprime en même temps les données que j'ai inscrit.
J'aimerai aussi l'envoyer par mail automatiquement en plus qu'il le sauvegarde et l'imprime.
Donc y ajouter ci dessous dans la liste de code; code adequat mais je n'y arrive pas.
Quelqu'un a t'il la solution ?

Merci beaucoup

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
'Sauvegarder et imprimer
 
Private Sub Commande332_Click()
'On Error GoTo Err_Commande332_Click
cible0.SetFocus
Dim msg, Style, Title, response
msg = "La date du rapport est elle correcte ?"
Style = vbYesNo + vbCritical + vbDefaultButton1
Title = "Vérification de la date"
response = MsgBox(msg, Style, Title)
If response = vbNo Then
Texte1.SetFocus
Exit Sub
End If
'DECLARATIONS
Dim db As Database
Set db = CurrentDb()
Dim rs As Recordset
Dim rs1 As Recordset
Dim rs3 As Recordset
Dim rs4 As Recordset
Dim rs5 As Recordset
Dim rs6 As Recordset
Dim rs7 As Recordset
Dim rst1 As Recordset
Dim rst3 As Recordset
Dim rst4 As Recordset
Dim rst5 As Recordset
Dim rst6 As Recordset
Dim rst7 As Recordset
Dim stDocName As String
stDocName = "Requête rapport"
Set rs = db.OpenRecordset("clétemp", dbOpenDynaset)
Set rs1 = db.OpenRecordset("rapport clé", dbOpenDynaset)
Set rs3 = db.OpenRecordset("rapport intervention", dbOpenDynaset)
Set rs4 = db.OpenRecordset("rapport locaux", dbOpenDynaset)
Set rs5 = db.OpenRecordset("rapport rondes", dbOpenDynaset)
Set rs6 = db.OpenRecordset("rapport permis feu", dbOpenDynaset)
Set rs7 = db.OpenRecordset("rapport test", dbOpenDynaset)
Set rst1 = db.OpenRecordset("temp rapport clé", dbOpenDynaset)
Set rst3 = db.OpenRecordset("temp rapport intervention", dbOpenDynaset)
Set rst4 = db.OpenRecordset("temp rapport locaux", dbOpenDynaset)
Set rst5 = db.OpenRecordset("temp rapport rondes", dbOpenDynaset)
Set rst6 = db.OpenRecordset("temp rapport permis feu", dbOpenDynaset)
Set rst7 = db.OpenRecordset("temp rapport test", dbOpenDynaset)
 
'enregistrement dans (rapport clé)
If rst1.RecordCount >= 1 Then
  rst1.MoveFirst
    Do While Not rst1.EOF
      rst1.Delete
      rst1.MoveNext
    Loop
End If
 
    rs1.AddNew
    rs1!clé = clétemp
    rs1!date = Texte1
    rs1!nomcdz1 = choixcdz1
    rs1!nomcdz2 = choixcdz2
    rs1!prestation = choixprestation
    rs1!prestation2 = choixprestation2
 
 
 
    rs1!mémo = mémo
    rs1!piquet = Text102
    rs1!exercice = Combo200
    rs1.Update
    rs.AddNew
    rs!clétemp = clétemp
    rs.Update
 
'transfert de la (temp rapport agents) vers la (rapport agents)
'transfert de la (temp rapport interventions) vers la (rapport interventions)
If rst3.RecordCount >= 1 Then
    Do While Not rst3.EOF
        rs3.AddNew
        rs3!clé = rst3!clé
        rs3!date = rst3!date
        rs3!heure = rst3!heure
        rs3!Type = rst3!Type
        rs3!cause = rst3!cause
        rs3!Assistance = rst3!Assistance
        rs3!étage = rst3!étage
        rs3!zone = rst3!zone
        rs3!batiment = rst3!batiment
        rs3!local = rst3!local
        rs3![numéro ascenseur] = rst3![numéro ascenseur]
        rs3![personne bloquée] = rst3![personne bloquée]
        rs3.Update
        rst3.Delete
        rst3.MoveNext
    Loop
End If
 
'transfert de la (temp rapport locaux) vers la (rapport locaux)
If rst4.RecordCount >= 1 Then
    Do While Not rst4.EOF
        rs4.AddNew
        rs4!clé = rst4!clé
        rs4!date = rst4!date
        rs4!local = rst4!local
        rs4!propreté = rst4!propreté
        rs4![Numéro Agent] = rst4![Numéro Agent]
        rs4!nom = rst4!nom
        rs4!prénom = rst4!prénom
        rs4.Update
        rst4.Delete
        rst4.MoveNext
    Loop
End If
 
'transfert de la (temp rapport rondes) vers la (rapport rondes)
If rst5.RecordCount >= 1 Then
    Do While Not rst5.EOF
        rs5.AddNew
        rs5!clé = rst5!clé
        rs5!date = rst5!date
        rs5!bâtiment = rst5!bâtiment
        rs5![Type Ronde] = rst5![Type Ronde]
        rs5![Motif non faite] = rst5![Motif non faite]
        rs5.Update
        rst5.Delete
        rst5.MoveNext
    Loop
End If
 
'transfert de la (temp rapport permis feu) vers la (rapport permis feu)
If rst6.RecordCount >= 1 Then
    Do While Not rst6.EOF
        rs6.AddNew
        rs6!clé = rst6!clé
        rs6!date = rst6!date
        rs6!batiment = rst6!batiment
        rs6!nombre = rst6!nombre
        rs6.Update
        rst6.Delete
        rst6.MoveNext
    Loop
End If
'transfert de la (temp rapport test) vers la (rapport test)
If rst7.RecordCount >= 1 Then
    Do While Not rst7.EOF
        rs7.AddNew
        rs7!clé = rst7!clé
        rs7!date = rst7!date
        rs7!batiment = rst7!batiment
        rs7!Type = rst7!Type
        rs7.Update
        rst7.Delete
        rst7.MoveNext
    Loop
End If
 
'COMMANDE IMPRIMER
    DoCmd.OpenReport stDocName, acViewNormal
    'DoCmd.OpenReport stDocName, acPreview
 
 
protect = 1
 
    'Fermeture interface
    DoCmd.Close
 
    'Ouverture interface menu
    DoCmd.OpenForm "démarrage"
Exit_Commande332_Click:
    Exit Sub
Err_Commande332_Click:
    MsgBox Err.Description
    Resume Exit_Commande332_Click
End Sub