Boucle sur userform et checkbox

Boucle sur userform et checkbox - VB/VBA/VBS - Programmation

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
 

Reply

Marsh Posté le 03-04-2014 à 17:15:29   

Reply

Marsh Posté le 05-04-2014 à 00:23:37    

Bonsoir
 
Pourquoi n' a pas tu mis les destinataires dans une combobox ?
Ensuite remplacer les checkbox par un NumericUpDown
 
@+


---------------
tout fil coupé a la même longueur sera toujours trop court
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed