Fonction if

cox188026 Messages postés 19 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

en fonction de la lettre qui se trouve dans la case C9 (optionButton) d'un tableau, je voudrait envoyer une mail a la personne A ou B...
malheureusement j'ai un message d'erreur de compilation: "déclaration existante dans la portée en cours"

If [C9] = OptionButton1.Caption Then
'envoi automatique de mail
Dim Destinataires(3) As String, Sujet As String
Dim AccuseReception As Boolean
'Modifier les mails des destinataires
Destinataires(1) = ""
Destinataires(2) = "personne A@gmail.com"
Destinataires(3) = ""
Sujet = "mail pour la personne A"
AccuseReception = True
'Nom de la feuille
ThisWorkbook.Sheets("aperçu avant impression").Copy
ActiveWorkbook.SendMail Destinataires, Sujet, AccuseReception
ActiveWorkbook.Close False
End If

If [C9] = OptionButton3.Caption Then
'envoi automatique de mail
Dim Destinataires(3) As String, Sujet As String
Dim AccuseReception As Boolean
'Modifier les mails des destinataires
Destinataires(1) = ""
Destinataires(2) = "personneB@gmail.com"
Destinataires(3) = ""
Sujet = "mail pour la personne B"
AccuseReception = True
'Nom de la feuille
ThisWorkbook.Sheets("aperçu avant impression").Copy
ActiveWorkbook.SendMail Destinataires, Sujet, AccuseReception
ActiveWorkbook.Close False
End If

merci

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Normal vous declarez deux fois vos variables

    Sub test()
        Dim Destinataires(3) As String, Sujet As String
        Dim AccuseReception As Boolean
        
        If [C9] = OptionButton1.Caption Then
            'Modifier les mails des destinataires
            Destinataires(1) = ""
            Destinataires(2) = "personne A@gmail.com"
            Destinataires(3) = ""
            Sujet = "mail pour la personne A"
            AccuseReception = True
        ElseIf [C9] = OptionButton3.Caption Then
            'envoi automatique de mail
            'Modifier les mails des destinataires
            Destinataires(1) = ""
            Destinataires(2) = "personneB@gmail.com"
            Destinataires(3) = ""
            Sujet = "mail pour la personne B"
            AccuseReception = True
        Else
        End If
        If AccuseReception = True Then
            'envoi automatique de mail
            'Nom de la feuille
            ThisWorkbook.Sheets("aperçu avant impression").Copy
            ActiveWorkbook.SendMail Destinataires, Sujet, AccuseReception
            ActiveWorkbook.Close False
        End If
    End Sub
    
    0