Microsoft 365 Envoi automatique mail

matmac

XLDnaute Occasionnel
Bonjour à tous,

J'ai récupéré un fichier d'un collègue qui permet l'envoi automatique de mail depuis Outlook. Cependant, je ne vois pas la macro dans le fichier (depuis hier, j'ai le message "Microsoft a bloqué l'exécution des macros, car la source de ce fichier n'est pas approuvé", notamment depuis des fichiers hébergés sur sharepoint ; j'ai pourtant modifié les paramètres de gestion de confidentialité). Et je suis bien incapable de créer la macro en question.

Concrètement, dans le fichier joint, la feuille "PARAMETRES" comprend l'expéditeur, les destinataires, le sujet et le contenu du mail. Mais j'aimerais que cet envoi soit automatique, selon des conditions : dans la feuille "LISTE", il faudrait que les emails soient envoyés à la date correspondante en colonne B (DATE LIMITE), et une fois les email envoyés, un "OK" apparaisse dans la colonne D (Email envoyé). Bien sûr, si la date inscrite en colonne B est dépassée, ou pas encore passée, il ne faut pas que les emails partent.
Je suppose qu'il n'est pas possible que les envois se fassent sans que le fichier soit ouvert ???

Merci par avance
Mat
 

Pièces jointes

  • Paméla Echéancier 2022-2023.xlsx
    39 KB · Affichages: 13

matmac

XLDnaute Occasionnel
Bonsoir,

Je reviens vers vous, ça fonctionne très bien, mais lorsqu'il y a plusieurs dates qui arrivent à échéance, la macro envoie un mail à chaque fois. Donc si 3 dates à échéances, 3 mails sont envoyés. Est-il possible de compiler les données de la colonne A correspondant à toutes les dates arrivant à échéance les unes après les autres dans le corps du message ?
Je vous remet le fichier car j'ai quelque peu modifié le corps du message.

Merci par avance
Mat
 

Pièces jointes

  • Paméla 2022-2023 - Copie - Copie.xlsm
    39.1 KB · Affichages: 6

matmac

XLDnaute Occasionnel
Bonjour,

Je reviens vers vous pour solliciter ... encore ... votre aide.

J'ai réussi à créer une tâche avec le planificateur de tâche windows. Celle-ci ouvre bien mon fichier excel mais je ne vois pas comment faire pour qu'il éxécute la macro correspondant au bouton ?
Par ailleurs, à l'ouverture il est indiqué que le fichier est exécuté en lecture seule (il est placé dans un dossier onedrive partagé, je pense que c'est pour cela) et il m'est demander d'activer les macros.

Je vous met en pj le fichier mis à jour.

Merci par avance
Mat
 

Pièces jointes

  • Paméla_2022-2023.xlsm
    43.3 KB · Affichages: 2

fanch55

XLDnaute Barbatruc
Bonjour,
Classeur modifié pour être exécuté en automatique :
Codage sub workbook_open dans le module thisworkbook​
Création sub Getcmd dans module1.​
Ajout de 3 Api en début de module1 .​

Ligne de lancement à mettre dans le fichier Bat exécuté par le task scheduler ;
Code:
"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" "chemin complet du classeur\Paméla_2022-2023 V3.xlsm" /cmd/Envoyer_Mail_Outlook
Modifiez le chemin de votre version d'excel et celui de votre classeur

Evitez de mettre le classeur sur Onedrive .
 

Pièces jointes

  • Paméla_2022-2023 V3.xlsm
    41.8 KB · Affichages: 15

matmac

XLDnaute Occasionnel
Bonsoir,

On avance, mais il y a encore quelques petits problèmes :
Le fichier Bat ouvre bien excel, mais je dois activer la macro à l'ouverture, sinon il ne se passe rien (pas de lecture seule, je l'ai enlevé de onedrive). De plus, une fois les macros activées, outlook s'ouvre avec le mail écrit, mais je dois appuyer sur le bouton "envoyer" (après m'avoir demander si je voulais enregistrer les modifications). Et après,... je ne reçois aucun mail sur la boite destinataire : le mail est placée dans le dossier "brouillon" d'outlook, il faut que je l'envoie manuellement à partir du dossier brouillon.

Merci par avance
Mat
 
Dernière édition:

fanch55

XLDnaute Barbatruc
Bonjour,
mais je dois activer la macro à l'ouverture

Ou faites un clic droit sur le classeur, choisissez propriétés et cochez "débloquer"
1663663182999.png


outlook s'ouvre avec le mail écrit, mais je dois appuyer sur le bouton "envoyer"
Modifier la ligne indiquée en fin de la sub Envoyer_Mail_Outlook :
J'ai oublié de la rétablir en mode envoi après mes tests
Enrichi (BBcode):
    ...........
    End With
    If Mail_En_Cours Then
        Close_Mail True
        ThisWorkbook.Save
    End If
Exit_Sub:
       If Not Outlook_Active Then ObjOutlook.Quit
    Set ObjOutlook = Nothing
   
End Sub
Sub Close_Mail(Optional Envoyer = False)
         ......
         If Envoyer Then .send Else .display
    End With
    Set ObjMail = Nothing
End Sub
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
591
Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
315 087
Messages
2 116 084
Membres
112 655
dernier inscrit
fannycordi