Envoie Auto de Mails VBA/Outlook avec tableaux filtrés selon les conditions

Envoie Automatique de Mails VBA/Outlook avec plusieurs parties filtrées selon certaines conditions dans un corps de mail

Bonjour à tous,

Je vous prie de m'aider sur un projet qui me tracasse depuis 1mois bientôt.

Je voudrais créer une Macro VBA commandée par un bouton EnvoiMail qui permet d'envoyer un mail quotidien via Outlook vers une adresse qui sera précisée sur le code de ma macro "exemple@gmail.com".

Je suis bloqué jusqu'à l'instant sur le code à mettre en place, vu que je suis encore novice dans ce stade. Alors je vous explique le code que j'aimerai bien si vous pouvez m'aider dessus.

J'ai un fichier Excel avec plusieurs colonnes (A6 à AH6) et plusieurs lignes (6 à 273). Je voudrais en fonction des conditions joindre une capture qui ne retient que les colonnes concernées et filtrant les données automatiquement suivant les conditions (ci-dessous).

En gros, la logique, c’est Si la condition est remplie, Capture la partie concernée et insert la dans le corps du mail à l’endroit qu’il faut, si Non, ne fait rien.

Mon mail devra ressembler à ceci :

'Sujet principal du message.

. Subject = "Alerte maintenance Indicateurs : Vous avez sans doute une intervention à effectuer"

'Adresse (à qui envoie-t-on le mail) du destinataire.

. To = exemple@gmail.com ‘Champs envoyer à

. Cc = exemple1@gmail.com 'Personne en copie

' Contenu corps du mail (en HTML si possible)

Bonjour,

Le fichier de suivi a été mis à jour (veuillez le consulter).

Pour y accéder : Q:\Suivixlsx

Interventions fonctionnelles :

Blablabla, ....

Condition1 : [Filtrer sur la colonne W à partir de la ligne W6, toutes les lignes = Rejets]

--> Tableau 1_ : afficher tous les noms de la colonne F associés à W ; où W = Rejets en partant de W6 à W273.

Blablabla, ....

Condition2 : [Filtrer sur la colonne AC à partir de la ligne AC6, toutes les lignes >= 1]

--> Tableau 2_ : afficher tous les noms de la colonne F associés à AC ; où AC >= 1 en partant de AC6 à AC273.

Blablabla, ....

Condition3 : [Filtrer sur la colonne AE à partir de la ligne AE6, toutes les lignes >= 1]

--> Tableau 3_ : afficher tous les noms de la colonne F associés à AE ; où AE >= 1 en partant de AE6 à AE273.

Blablabla, ....

Condition4 : [Filtrer sur la colonne Z à partir de la ligne Z6, toutes les lignes >= 1]

--> Tableau 4_ : afficher tous les noms de la colonne F associés à Z ; où Z >= 1 en partant de Z6 à Z273.

Blablabla, ....

Condition 5 : [Filtrer sur la colonne U à partir de la ligne U6, toutes les lignes = NON]

--> Tableau 5_ : afficher tous les noms de la colonne F associés à U ; où U = NON en partant de U6 à U273.

Blablabla, ....

Condition 6 : [Filtrer sur la colonne Y à partir de la ligne Y6, toutes les lignes NON VIDES (ici Y est une date au format DD/MM/AAAA]

--> Tableau 6_ : afficher tous les noms de la colonne F associés à Y ; où Y < date du jour - 40 en partant de Y6 à Y273.

Blablabla, ....

Condition 7 : [Filtrer sur les colonnes Q6 et T6, toutes les lignes NON VIDES (ici dans Q ce sont des dates au format MM/AAAA et dans T des dates au format DD/MM/AAAA]

--> Tableau 7_ : afficher tous les noms de la colonne F associés à U ; où Q = MM en cours - 1 et T = NON VIDES en partant de Q6 à Q273 et de T6 T273.

Interventions techniques :

Blablabla, ....

Condition8 : [Filtrer sur la colonne AD à partir de la ligne AD6, toutes les lignes >= 1]

--> Tableau 8_ : afficher tous les noms de la colonne F associés à AD ; où AD >= 1 en partant de AD6 à AD273.

Blablabla, ....

Condition9 : [Filtrer sur la colonne AF à partir de la ligne AF6, toutes les lignes >= 1]

--> Tableau 9_ : afficher tous les noms de la colonne F associés à AF ; où AF >= 1 en partant de AF6 à AF273.

Blablabla, ....

Condition10 : [Filtrer sur la colonne AG à partir de la ligne AG6, toutes les lignes >= 1]

--> Tableau 10_ : afficher tous les noms de la colonne F associés à AG ; où AG =0 en partant de AG6 à AG273.

Blablabla, ....

Condition11 : [Filtrer sur la colonne AH à partir de la ligne AH6, toutes les lignes >= 1]

--> Tableau 11_ : afficher tous les noms de la colonne F associés à AH ; où AH = 0 en partant de AH6 à AH273.

Cordialement,

Le système de maintenance.

"Ne pas répondre, ceci est un mail automatique "

Hello JBIK,

Sans un fichier exemple, il sera compliquer de pouvoir t'aider.

Je remarques tout de même que tu as beaucoup de condition... Ce que je préconiserais, serais de selon tes conditions, créer un nouveau fichier excel (.xlsx) et le partager avec ton mail. (Si le destinataire est unique).

A+,
Kilian

Hello Kilian,

Merci beaucoup d'avoir répondu. c'est vrai c'est pas très parlant sans le fichier.

L'original du fichier est sur 273 lignes , mais pour des raisons de test, je n'ai pas voulu tout mettre.

Du moins le code devra suivre la logique de 1à n lignes.

Je t'envoie le fichier.

14bjc80.xlsm (27.84 Ko)

Personne ici pour m'aider ???

Salut

ton sujet est très intéressant. J'ai le meme projet que toi mais apparemment ça l'air complexe vu qu'on a pas de réponses.

Cdt

Rechercher des sujets similaires à "envoie auto mails vba outlook tableaux filtres conditions"