Bonjour à tous,
Actuellement, j'essaye de finaliser un outil mais je rencontre un problème sur le msgbox.
Je veux qu'il apparaisse une seule fois pour l'ensemble des conditions.
Je vous explique, quand mon userform1 se ferme, il va réaliser la macro ci dessous si et seulement si le optionbutton1 est cliqué et envoyer les mails selon les autres optionbuttons choisi (via la ligne de code AD = Choose ..... voir ci dessous).
Mais pour qu'il envoie, il y a un msgbox qui apparait, si la réponse est NON alors, il sort de la procédure. Si la réponse est OUI alors, il va envoyer les mails aux adresses sélectionnées. Mais le problème, c'est que la macro réalise la boucle pour envoyer un mail à toutes les adresses et à chaque fois la msgbox apparait autant de fois que le nombre d'adresse mail de personne choisie.
Je veux simplement que le msgbox apparait une fois et réalise l'envoi de mail à toutes les personnes choisies sans que le msgbox apparait 3 fois pour me demander si oui ou non je veux envoyer si j'ai décidé de choisir 3 personnes ou plus.
Voici le code :
Je vous remercie par avance pour votre aide.
Benam
Actuellement, j'essaye de finaliser un outil mais je rencontre un problème sur le msgbox.
Je veux qu'il apparaisse une seule fois pour l'ensemble des conditions.
Je vous explique, quand mon userform1 se ferme, il va réaliser la macro ci dessous si et seulement si le optionbutton1 est cliqué et envoyer les mails selon les autres optionbuttons choisi (via la ligne de code AD = Choose ..... voir ci dessous).
Mais pour qu'il envoie, il y a un msgbox qui apparait, si la réponse est NON alors, il sort de la procédure. Si la réponse est OUI alors, il va envoyer les mails aux adresses sélectionnées. Mais le problème, c'est que la macro réalise la boucle pour envoyer un mail à toutes les adresses et à chaque fois la msgbox apparait autant de fois que le nombre d'adresse mail de personne choisie.
Je veux simplement que le msgbox apparait une fois et réalise l'envoi de mail à toutes les personnes choisies sans que le msgbox apparait 3 fois pour me demander si oui ou non je veux envoyer si j'ai décidé de choisir 3 personnes ou plus.
Voici le code :
VB:
Sub EnvoiMailS()
Dim MonOutlookS As Object, MonMessageS As Object, corpsS As String
Dim AD As String
If UserForm1.OptionButton1 = True Then
For i = 6 To 18
If UserForm1.Controls("OptionButton" & i) = True Then
If MsgBox("Voulez-vous informer par mail ?", vbYesNo, "Demande de confirmation") = vbYes Then
AD = Choose(i - 5, "adresse mail 1", "adresse mail 2", "etc...") 'ici tu listes les 13 adresses mail
Set MonOutlookS = CreateObject("Outlook.Application")
Set MonMessageS = MonOutlookS.createitem(0)
MonMessageS.To = AD
MonMessageS.Subject = "[ Morning Meeting ]" & " " & Date & " : Relevé de Problème Sécurité"
corpsS = "Bonjour,"
corpsS = corpsS & Chr(13) & Chr(10)
corpsS = corpsS & Chr(13) & Chr(10)
corpsS = corpsS & "Indicateurs : " & UserForm1.ComboBox1.Value & Chr(13) & Chr(10)
corpsS = corpsS & Chr(13) & Chr(10)
corpsS = corpsS & "Remarques : " & UserForm1.TextBox1.Value & Chr(13) & Chr(10)
corpsS = corpsS & Chr(13) & Chr(10)
corpsS = corpsS & "Ce message est envoyé lors du Morning Meeting en date du " & Date & " à " & " " & Format(Now(), "hh:mm:ss")
MonMessageS.body = corpsS
MonMessageS.send
Set MonOutlookS = Nothing
Set MonMessageS = Nothing
corpsS = ""
Else
Exit Sub
End If
End If
Next i
End If
End Sub
Je vous remercie par avance pour votre aide.
Benam
Dernière édition: