Envoi automatique de mail sous condition

delfinruel

XLDnaute Nouveau
Bonjour,

J'ai cherché la réponse à ma question, mais pas trouvé exactement...

J'ai un fichier excel (2003) recensant des contrats et leur date d'échéance, ainsi que le nom et mail du responsable du contrat.
Je voudrais que 15 jours avant la date d'échéance, excel envoie automatiquement un rappel au responsable du contrat (genre un message dont l'objet sera le nom du contrat et le corps un truc standard ou seul le nom du contrat, la date d'échéance et le responsable varient). Le logiciel de messagerie utilisé est Outlook 2003.
Qqun aurait-il une macro qui fait ce genre de choses ?

Merci d'avance pour votre aide !
 

JNP

XLDnaute Barbatruc
Re : Envoi automatique de mail sous condition

Bonjour Delfinruel :),
J'ai cherché la réponse à ma question, mais pas trouvé exactement...
C'est vrai que le fichier Excel comblant exactement nos désir est rare :p. Jette un œil à ce fil entre autre car le sujet a été mainte fois abordé sur le forum. Essaie de l'adapter, et si tu éprouves des difficultés, revient poser tes questions, mais avec un base déjà construite ;).
Bonne journée :cool:
 

JBOBO

XLDnaute Accro
Re : Envoi automatique de mail sous condition

bonjour,

perso j'utilise cette macro . a voir et a adapter

Code:
Sub cc2()
'Dim MonOutlook As New Outlook.Application, MonMessage As Object
'Tri des listes
Sheets("Liste").Select
'Application.Run "'facturation.xls'!Macro3"
Call Macro3
Sheets("saisie").Select
ActiveSheet.Unprotect
'Envoi des mails
A = Cells(6, "AB")
B = Cells(7, "AB")
For i = A To B

Set MonOutlook = CreateObject("Outlook.Application")
Set MonMessage = MonOutlook.CreateItem(0)
With MonMessage
'ad = destinataires
ad = Cells(i, "Y").Value
'corps = corps du message
corps = Cells(i, "AA").Value & vbCrLf & "Cordialement" & vbCrLf & Cells(8, "AJ").Value

    If ad <> "" Then .To = ad 'ad est soit déterminé dans la macro ou  à saisir dans le champ adresse manuellement
    .Subject = "Chantier " & Cells(i, "D").Value & " - " & Cells(i, "E").Value & " - Echantillons à purger"
    '.Subject = "Factures arrivant à échéances"
    .Body = "Bonjour," & vbCrLf & "Attention !! ça degage :" & vbCrLf & vbCrLf & corps & vbCrLf
    If ad <> "" Then
   'mettre en Bleu les destinataires ayant reçu leur mail
   Cells(i, "AC").Font.ColorIndex = 5
   Cells(i, "AD").Font.ColorIndex = 5
   'cochez case si mail envoyé
   Cells(i, "AB").FormulaR1C1 = "x"
   'En colonne X, nom de l'expediteur
    Cells(i, "AC").FormulaR1C1 = MonOutlook.session.CurrentUser.Name
    'En colonne Y, Date d'envoi
    Cells(i, "AD").FormulaR1C1 = Now
    'SendKeys "^" & "~"
    .display
    'SendKeys "^" & "~"

    '.Send
    Else
    Set MonMessage = Nothing
    Set MonOutlook = Nothing
    'SendKeys "^" & "~"
   
    End If
    
End With
'SendKeys "^" & "~"
Next i
'SendKeys "^" & "~"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
 

JNP

XLDnaute Barbatruc
Re : Envoi automatique de mail sous condition

Re :),
En utilisant l'événement Workbook_Open :
Code:
Private Sub Workbook_Open()
Call MaMacro
End Sub
à coller dans ThisWorkbook en remplaçant MaMacro par le nom de la tienne.
A + :cool:
 

delfinruel

XLDnaute Nouveau
Re : Envoi automatique de mail sous condition

Ok j'ai collé mais il faut quand même ouvrir le fichier, à moins que j'ai mal compris et collé au mauvais endroit... J'aurais voulu que ça s'exécute juste en ouvrant excel. C'est possible ?

Par ailleurs outlook m'envoie une confirmation d'envoi automatique dont je me passerais volontiers et qu'il ne m'envoie jamais quand j'envoie un mail "normal", comment lui dire d'arreter ?
 

delfinruel

XLDnaute Nouveau
Re : Envoi automatique de mail sous condition

J'ai trouvé pour la confirmation d'envoi. En revanche, je suis toujours intéressée pour savoir si on peut lancer la macro juste en ouvrant excel.

Par ailleurs s'il y a un moyen de s'affranchir de l'autorisation à donner à outlook je suis preneuse aussi.

Merci en tout cas pour votre aide, j'ai bien avancé !
 

JNP

XLDnaute Barbatruc
Re : Envoi automatique de mail sous condition

Re :),
Pour que cela se fasse à l'ouverture d'Excel, tu dois pouvoir utiliser le fichier Perso.xls, mais il faudra rajouter dans la macro une ouverture du fichier avant le lancement de la macro (en chemin complet), puis la fermeture du fichier, ou le traiter en tant qu'objet.
Pour la confirmation d'OutLook, le sujet a été abordé maintes fois sur le forum, fait une petite recherche, de mémoire, il y a un complément à charger sur OutLook pour faire sauter la sécurité.
Bon courage :cool:
 

Larson

XLDnaute Junior
Re : Envoi automatique de mail sous condition

Bonjour,

par defaut, le fichier perso.xls n'existe pas me semble t'il.

C'est seulement lors de l'enregistrement d'une premiere macro qu'il apparait sous :
C:\Documents and Settings\user\Application Data\Microsoft\Excel\XLSTART
On peut le placer ici pour qu'il s'applique a tous les utilisateurs si je ne m'abuse :):
C:\Program Files\Microsoft Office\OFFICE11\XLSTART
 

Discussions similaires

Réponses
16
Affichages
606
Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
312 496
Messages
2 088 983
Membres
103 997
dernier inscrit
SET2A