Boucle sur userform et checkbox - VB/VBA/VBS - Programmation
MarshPosté le 03-04-2014 à 17:15:29
Bonjour,
J'ai un code qui enregistre un fichier et l'envoie par mail à un destinataire suivant la checkbox cochée. Si 2 checkbox sont cochées, 2 mails seront générés. Mon code marche mais j'ai 27 fois le même code étant donné qu'il y a 27 destinataires différents, il doit y avoir un code plus court et plus rapide... Je suis débutant en vba, on m'a dit que Loop ou For Each pourrait marcher mais je ne sais pas comment les utiliser.
Marsh Posté le 03-04-2014 à 17:15:29
Bonjour,
J'ai un code qui enregistre un fichier et l'envoie par mail à un destinataire suivant la checkbox cochée. Si 2 checkbox sont cochées, 2 mails seront générés. Mon code marche mais j'ai 27 fois le même code étant donné qu'il y a 27 destinataires différents, il doit y avoir un code plus court et plus rapide...
Je suis débutant en vba, on m'a dit que Loop ou For Each pourrait marcher mais je ne sais pas comment les utiliser.
Merci de votre aide,
voici mon code pour 2 destinataires:
If CheckBox1.Value = True Then
Worksheets("Destinataire1" ).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"\\Résultats 2014\Résultats \Résultats Destinataire1" & "-" & Mois & "-" & Year(Date) & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
On Error Resume Next
Set OutMail = OutApp.CreateItemFromTemplate("\\Résultats 2014\ Résultats \Mail\Mail.msg" )
With OutMail
.To = Worksheets("Destinataire1" ).Range("N11" )
.Subject = "Résultats " & Mois & " - " & Worksheets("Destinataire1" ).Range("K10" ).Value
.Attachments.Add ("\\Résultats 2014\Résultats \Résultats Destinataire1" & "-" & Mois & "-" & Year(Date) & ".pdf" )
.Display
End With
End If
If CheckBox2.Value = True Then
Worksheets("Destinataire2" ).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"\\Résultats 2014\Résultats \Résultats Destinataire2" & "-" & Mois & "-" & Year(Date) & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
On Error Resume Next
Set OutMail = OutApp.CreateItemFromTemplate("\\Résultats 2014\ Résultats \Mail\Mail.msg" )
With OutMail
.To = Worksheets("Destinataire2" ).Range("N11" )
.Subject = "Résultats " & Mois & " - " & Worksheets("Destinataire2" ).Range("K10" ).Value
.Attachments.Add ("\\Résultats 2014\Résultats \Résultats Destinataire2" & "-" & Mois & "-" & Year(Date) & ".pdf" )
.Display
End With
End If