Envoie mail automatique VBA via Outlook
BJC80_1555
-
BJC80_1555 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
BJC80_1555 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis étudiant et débutant en programmation. J'ai une préoccupation majeure et je viens solliciter une aide bienveillante des personnes mieux éclairées.
En effet, sur un fichier Excel, j'ai la colonne B qui liste les noms de mes Techniciens (6 au total), la colonne F, liste les noms des sites (270 au total) sur lesquels ils doivent intervenir en cas de soucis.
- Première problématique : chaque technicien intervient sur plusieurs sites (environ 45 par personne) les noms se répètent (sur plusieurs ligne) donc dans cette colonne.
- Deuxième problématique est que : les colonnes X, Z, AC et AE, remontent les signaux d'alerte (0 pour normal et 1 pour défaut signalé) tels que si au moins l'une de ses colonnes est >= 1, ceci déclenche l'envoie automatique du mail seulement au(x) technicien(s) concerné(s) en signifiant dans le mail, le nom du site concerné ainsi que la colonne affichant le défaut.
Par contre, si X, Z, AC et AE = 0 ; ne rien faire
En gros, le mail doit être déclenché dès que l'une de ces quatre colonnes change d'état de 0 à 1
Je suis arrivé à écrire un code qui envoie un mail, mais je n'arrive pas deux chose :
à l'automatiser sans une action sur un bouton "envoyer " par exemple et à intégrer toute les conditions ci-dessus énumérées.
Je vous prie de bien vouloir m'aider. Merci d'avance.
Mon code actuel :
Sub Automatisation_des_mails()
Dim LeMail As Variant 'Déclaration de variables.
Set LeMail = CreateObject("outlook.Application") 'Création d'un objet Outlook.
With LeMail.CreateItem(olMailItem) 'Début de la boucle
'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 = Range("D15") 'Champs envoyer à
'Contenu(détails)mail.
.Body = "Bonjour " & Range("B15") & "," & vbCrLf & " " & vbCrLf & "Un indicateur te concernant est à corriger sur le " & Range("X15") & "." & vbCrLf & " " & vbCrLf & "Prière d'aller consulter ton tableau de bord sous : Q:\man\\Suivi-travaux.xlsx" & vbCrLf & " " & vbCrLf & "Cordialement," & vbCrLf & " " & vbCrLf & "Le système de maintenance." & vbCrLf & "Ne pas répondre, ceci est un mail automatique."
.Display 'Affiche le mail en brouillon dans Outlook, pratique pour vérifier avant d'envoyer
'.Send 'Envoie directement le mail
End With
End Sub
Je suis étudiant et débutant en programmation. J'ai une préoccupation majeure et je viens solliciter une aide bienveillante des personnes mieux éclairées.
En effet, sur un fichier Excel, j'ai la colonne B qui liste les noms de mes Techniciens (6 au total), la colonne F, liste les noms des sites (270 au total) sur lesquels ils doivent intervenir en cas de soucis.
- Première problématique : chaque technicien intervient sur plusieurs sites (environ 45 par personne) les noms se répètent (sur plusieurs ligne) donc dans cette colonne.
- Deuxième problématique est que : les colonnes X, Z, AC et AE, remontent les signaux d'alerte (0 pour normal et 1 pour défaut signalé) tels que si au moins l'une de ses colonnes est >= 1, ceci déclenche l'envoie automatique du mail seulement au(x) technicien(s) concerné(s) en signifiant dans le mail, le nom du site concerné ainsi que la colonne affichant le défaut.
Par contre, si X, Z, AC et AE = 0 ; ne rien faire
En gros, le mail doit être déclenché dès que l'une de ces quatre colonnes change d'état de 0 à 1
Je suis arrivé à écrire un code qui envoie un mail, mais je n'arrive pas deux chose :
à l'automatiser sans une action sur un bouton "envoyer " par exemple et à intégrer toute les conditions ci-dessus énumérées.
Je vous prie de bien vouloir m'aider. Merci d'avance.
Mon code actuel :
Sub Automatisation_des_mails()
Dim LeMail As Variant 'Déclaration de variables.
Set LeMail = CreateObject("outlook.Application") 'Création d'un objet Outlook.
With LeMail.CreateItem(olMailItem) 'Début de la boucle
'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 = Range("D15") 'Champs envoyer à
'Contenu(détails)mail.
.Body = "Bonjour " & Range("B15") & "," & vbCrLf & " " & vbCrLf & "Un indicateur te concernant est à corriger sur le " & Range("X15") & "." & vbCrLf & " " & vbCrLf & "Prière d'aller consulter ton tableau de bord sous : Q:\man\\Suivi-travaux.xlsx" & vbCrLf & " " & vbCrLf & "Cordialement," & vbCrLf & " " & vbCrLf & "Le système de maintenance." & vbCrLf & "Ne pas répondre, ceci est un mail automatique."
.Display 'Affiche le mail en brouillon dans Outlook, pratique pour vérifier avant d'envoyer
'.Send 'Envoie directement le mail
End With
End Sub
A voir également:
- Macro outlook envoi mail automatique
- Réponse automatique thunderbird - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mail delivery system - Astuces et Solutions
- Programmer envoi mail gmail - Guide
- Supprimer adresse mail outlook - Guide
25 réponses
Si toujours un nom..
En réalité il ya 6 techniciens et 6 Rp, donc les noms se répètent sur plusieurs lignes en fonction des sites qui leurs sont attribué.
Au moyen d'un simple filtre on arrive à les regrouper.
En réalité il ya 6 techniciens et 6 Rp, donc les noms se répètent sur plusieurs lignes en fonction des sites qui leurs sont attribué.
Au moyen d'un simple filtre on arrive à les regrouper.
VOUS aurez une adresse mail, je vous envoie un fichier Excel de données test ?
mon adresse : air.esperancefrance@gmail.com
mon adresse : air.esperancefrance@gmail.com
Je ne les ai pas perdu. Le tableau principal n'intègre pas une colonne adresse mail.
Donc je voudrai le mettre sur une autre feuille.
A=RP et B=Tec, ces deux colonnes ont toujours un nom m.
Oui jaune ou vert, les mails se déclencheront en fonction du code couleur appartenant soit aux RP soit aux techniciens.
Si tu désire je peux t'envoyer un fichier test par mail. Si tu me passe ton adresse mail.
Le mien : air.esperancefrance@gmail.com.
Donc je voudrai le mettre sur une autre feuille.
A=RP et B=Tec, ces deux colonnes ont toujours un nom m.
Oui jaune ou vert, les mails se déclencheront en fonction du code couleur appartenant soit aux RP soit aux techniciens.
Si tu désire je peux t'envoyer un fichier test par mail. Si tu me passe ton adresse mail.
Le mien : air.esperancefrance@gmail.com.
Re,
Je viens de vous envoyer un @mail a l'adresse que vous avez mis a dispo.
Il ne faut jamais mettre d'adresse @mail dans un post, passez par la messagerie privee de CCM
Enlevez cette adresse
Je viens de vous envoyer un @mail a l'adresse que vous avez mis a dispo.
Il ne faut jamais mettre d'adresse @mail dans un post, passez par la messagerie privee de CCM
Enlevez cette adresse
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question