Mail automatique selon mise en forme conditionnelle
Bonjour,
Pour ceux qui ont suivi un peu mon projet, ma base de donnée avance doucement (pas tellement de temps en ce moment).
Je cherche désormais à créer une macro qui relance automatiquement par mail les porteurs de projets lors de l'acompte 1.
Pour celà, je compte utiliser la mise en forme automatique que j'ai affecté à la colonne AE.
Si la cellule de la colonne AE est rouge (la date de relance est passée et cette dernière n'a pas été effectuée), alors envoyer un mail au porteur de projet (celui de la ligne en question, colonne E).
L'objet et le corps du message sont stockés dans la feuille "LIST" colonne F et G.
J'ai créé et essayé une macro qui bloque quasiment dès le départ et je n'arrive pas à résoudre les problèmes... d'où ce post qui je l'espère m'aidera à résoudre ce *#"**.. joyeux bordel
Option Explicit
Dim Ws As Worksheet
Dim OlApp As Object
Dim OlMail As Object
Dim mail&, msg&, objet&, i&, dl&
Public Sub EnvoiAutomatiqueMail()
Set Ws = Sheets("BD Finance")
dl = Ws.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To dl ' on passe en revue toutes les lignes de la colonne AE
If Cells(i, "AE").NumeroIndexColor = "3" Then
'objet du mail
objet = Sheets("LIST").Range("F1")
'corps du mail
msg = Sheets("LIST").Range("F2") & vbCrLf & vbCrLf & Sheets("LIST").Range("F3") & Ws.Cells(i, "B") & Sheets("LIST").Range("F4") & Ws.Cells(i, "R") & Sheets("LIST").Range("F5") & Ws.Cells(i, "F") & vbCrLf & Sheets("LIST").Range("F6") & Ws.Cells(i, "U") & Sheets("LIST").Range("F7") & Ws.Cells(i, "AD") & Sheets("LIST").Range("F8") & Ws.Cells(i, "AE") & vbCrLf & Sheets("LIST").Range("F9") & vbCrLf & Sheets("LIST").Range("F10") & vbCrLf & vbCrLf & Sheets("LIST").Range("F11")
'adresse mail destinataire
'mail = .Cells(i, "A")
Set OlApp = CreateObject("outlook.application")
Set OlMail = OlApp.createitem(0)
With OlMail
.Subject = objet 'sujet du mail
.To = mail 'adresse mail destinataire
.body = msg 'corps du message
.Display 'affiche le mail
'.send 'on envoie le mail créé
End With
End If
Next i 'on passe au mail suivant
End SubBien cordialement,
- Messages
- 4'199
- Excel
- 2021 FR 64 bits
- Inscrit
- 13/06/2016
- Emploi
- bénévole associations Goutte d'Or
Bonsoir,
Vous ne pouvez pas tester la couleur d'une cellule affichée par une mise en forme conditionnelle. La seule manière de faire est
1- de récupérer la formule conditionnant l'affichage de la couleur rouge
2- de vérifier que cette formule est vraie en utilisant l'instruction VBA "Evaluate"