Vérification toutes les conditions

BENAM69

XLDnaute Occasionnel
Bonjour à vous le Forum,

Je souhaiterai faire une boucle de vérification sur la totalité de mes conditions IF, parmi toutes les conditions, la macro exécute les tâches demandées (donc envoie de mail) si la condition est vraie.
Malheureusement, tant que la condition est respectée mon code continue à exécuter les suivantes mais si mon code arrive sur une condition fausse, elle ne vérifie pas si les autres sont vraies et exécute que celles vérifiées tantôt vraies.

Par exemple, Si ma condition 1 est vraie, il passe à la deuxième, si la deuxième est vraie alors il passe à la troisième. Par contre, si la troisième est fausse, la macro envoie les emails à celles qui sont correctes et ignore les autres conditions même si parmi les conditions suivantes, certaines sont vraies.

Est-ce qu'il y aurait moyen de tout vérifier les conditions et exécuter que celles qui sont vraies ?

Pour info :
- Pour faire apparaître l'userform, il faut saisir sur n'importe quelle cellule "NOK".
- Selon les critères cochés, il va envoyer les mails aux personnes choisies.
Les optionbutton1 à optionbutton5 correspondent aux catégories d'indicateur
Les optionbutton6 à optionbutton18 correspondent aux personnes (Chaque optionbutton désigne un mail unique, soit au total 13 personnes différentes).
- La macro se déclenche quand je ferme la fenêtre de l'userform.

Si je clique sur le optionbutton6 et optionbutton1, il enverra l'adresse email à la personne de l'optionbutton6 avec le critère 1 (optionbutton1) mais ...
Si je clique sur le optionbutton6, optionbutton7,optionbutton8 et optionbutton1, il enverra l'adresse email aux 3 personnes (de l'optionbutton6 à optionbutton8) avec le critère 1 (optionbutton1).


J'espère que mes explications ont été claires et compréhensible

Je vous mets en PJ mon fichier pour que vous puissiez voir de vous même.

Je vous remercie de votre aide précieuse ^^

A+

Benam
 

Pièces jointes

  • Test Niveau 2v1.xlsm
    89.6 KB · Affichages: 9
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Benam, bonjour le fourm,

En premier lieu, les boutons d'option 6 a 18 n'ont pas lieu d'être puisque que tu peux en sélectionner plusieurs il serait plus logique d'utiliser des case à cocher (CheckBoxes).
Je ne pratique pas l'envoi d'email par VBA et je n'ai donc pas de pratique sur ce genre de code. Toutefois il me semble que tu répètes le même code pour chaque adresse mail (OptionButton 6 à 18) alors que seule l'adresse doit changer (si je ne m'abuse). Il faudrait un code du style :

VB:
Sub EnvoiMail()
Dim MonOutlookS As Object, MonMessage As Object, corps As String
Dim AD As String

If UserForm1.OptionButton1 = True Then
    For I = 6 To 18
        If UserForm1.Controls("OptionButton" & I) = True Then
            AD=choose(I-5,"adresse1","Adresse2",...,"adresse18")'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é"
            corps = "Bonjour,"
            corps = corps & Chr(13) & Chr(10)
            corps = corps & Chr(13) & Chr(10)
            corps = corps & "Indicateurs : " & UserForm1.ComboBox1.Value & Chr(13) & Chr(10)
            corps = corps & Chr(13) & Chr(10)
            corps = corps & "Remarques : " & UserForm1.TextBox1.Value & Chr(13) & Chr(10)
            corps = corps & Chr(13) & Chr(10)
            corps = corps & "Ce message est envoyé lors du Morning Meeting en date du " & Date & " à " & " " & Format(Now(), "hh:mm:ss")
            MonMessageS.body = corps
            MonMessageS.send
            Set MonOutlookS = Nothing
            Set MonMessageS = Nothing
            corps = ""
        End If
    Next I
End If
End Sub
 

BENAM69

XLDnaute Occasionnel
Salut Robert,

Tu as tout a fait raison du début à la fin.
Je viens de tester ton code et je l'ai employé sur les 5 critères. Cela fonctionne sans problème.

Et dire que j'ai passé pas moins de 2 heures pour faire tous les copier coller des codes selon les critères et personnes. Alors qu'il suffisait de 1 ou 2 lignes à ajouter ou remanier pour faire un truc simple et qui fonctionne correctement. Heureusement qu'il existe des gens comme toi ^^.

Merci beaucoup pour ton aide

A+

Benam
 

Discussions similaires

Statistiques des forums

Discussions
314 663
Messages
2 111 674
Membres
111 256
dernier inscrit
cvwvoizhjf