Bonjour,

Je souhaite créer une macro pour envoyer un QCM à mes collègues et obtenir par mail les résultats.
J'ai actuellement plusieurs problèmes :
- Je ne reçois pas de mail
- je ne trouve pas trace du fichier sur mon disque dur
- je voudrais obtenir un fichier avec avec toutes les réponses et pas que le résultats.

Merci pour vos conseils.

Ma macro :

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
'Déclaration des variables
Dim Total, Question As Integer
Dim Reponse, Nom As String
Dim Points(100) As Integer 'Déclaration du tableau qui contiendra les réponses
'Procédure pour le clic sur le bouton ICI dans la première dia
Sub Init()
'Une boîte de dialogue pour demandé le labo
Nom = ""
Do While Nom = ""
    Nom = InputBox("Quel est votre Laboratoire ?", "Bonjour")
Loop
Total = 0 'Le total des points est initialisé
Question = 2 'La première question porte le numéro 1
Application.SlideShowWindows(1).View.GotoSlide 3 'Activation de la dia numéro
End Sub
'Procédure pour le clic sur le bouton de bonne réponse 1
Sub Bon1()
Total = Total + 1 'Le total des points est augmenté de 1
Points(Question) = 11 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de bonne réponse 2
Sub Bon2()
Total = Total + 1 'Le total des points est augmenté de 1
Points(Question) = 12 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de bonne réponse 3
Sub Bon3()
Total = Total + 1 'Le total des points est augmenté de 1
Points(Question) = 13 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de bonne réponse 4
Sub Bon4()
Total = Total + 1 'Le total des points est augmenté de 1
Points(Question) = 14 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de mauvaise réponse 1
Sub Faux1()
Points(Question) = 21  'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de mauvaise réponse 2
Sub Faux2()
Points(Question) = 22 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de mauvaise réponse 3
Sub Faux3()
Points(Question) = 23 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de mauvaise réponse 4
Sub Faux4()
Points(Question) = 24 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de statut
Sub CDI()
Points(Question) = 1 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de statut
Sub CDD()
Points(Question) = 2 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de statut
Sub Coll()
Points(Question) = 3 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de statut
Sub Post()
Points(Question) = 4 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de statut
Sub STU()
Points(Question) = 5 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de statut
Sub Thésard()
Points(Question) = 6 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le clic sur le bouton de statut
Sub Autre()
Points(Question) = 7 'Le tableau des réponses est complété
Module1.DiaSuivante 'Appel de la procédure DiaSuivante
End Sub
'Procédure pour le passage à la diapositive suivante
Sub DiaSuivante()
Question = Question + 1 'Question suivante
'Activation de la dia suivante
Application.SlideShowWindows(1).View.GotoSlide Question + 1
End Sub
'Procédure pour le clic sur le point d'interrogation de la dernière dia
Sub Fin()
'La boîte de dialogue
x = MsgBox("Vous avez répondu correctement à " & Total & " questions sur " & Question - 3 & "." _
& Chr(13) & "Vous avez donc " & Int(Total / (Question - 3) * 100) & "% de bonnes réponses." _
& Chr(13) & "Cliquez sur le bouton OK", , "Fin du questionnaire")
Fichier = "c:\Résultats.txt"
'Sauvegarde des résultats dans un fichier texte portant comme nom celui de la personne qui a répondu au questionnaire
Open Fichier For Output Shared As #1
Write #1, Nom
For i = 2 To Question - 1
    Write #1, Points(i)
Next i
Close #1
'Envoie mail des résultats
Dim ol As Object
Set ol = CreateObject("Outlook.Application")
Dim olmail As Object
Set olmail = ol.CreateItem(MailItem)
With olmail
    .To = "xxxxx.xxxx@xxxx.xx"
    .Subject = "Résultat QCM"
    .Attachments.Add "C:\Résultats.txt"
    .Send
End With
Set ol = Nothing
Set olmail = Nothing
'suppression fichier
Kill "C:\Résultats.txt"
DiaSuivante
End Sub
Sub Fermeture()
ActivePresentation.Close
End Sub