Microsoft 365 Macro pour alerte à date butoirs

armorik75

XLDnaute Nouveau
Bonjour à tous

Comme je l'ai identifié dans mon post de présentation je développe un outil de gestion de suivi client.

Cet outil je vais l’améliorer au fur et à mesure mais pour le moment je bloque sur une partie du codage. Ma macro se lance bien automatiquement pour vérifier les dates dans la colonne P et m’alerte avec un messagBox qu’il reste 15 jours avant la date d’échéance.

Toutefois l’alerte s’affiche même lorsque que la cellule est vide (pas de date), je voudrais donc coder et exclure de l’alerte les cellules vides.

De même je voudrais qu’il n’y ai pas d’alerte si dans la colonne R, la mise en forme conditionnelle indique le drapeau vert (cela sous entends que la condition donc l’émission des offres a été faite).

Je ne sais pas si j’ai été assez précis dans mon énoncé donc je vous joins le code ainsi que mon fichier .xlsm de travail pour le codage.

Pour le code soyez indulgent car c’est mon tout premier et je suis conscient que ce n’est pas forcément le plus sexy des codes macro.

Merci pour votre aide.

Armorik75

Sub Workbook_Open()
derlig = Sheets("Tableau suivi clients").Cells(Cells.Rows.Count, "A").End(xlUp).Row
For Each c In Sheets("Tableau suivi clients").Range("P2:p" & derlig)
ecart = c - Date
c.Interior.ColorIndex = -4142
If ecart <= 15 Then
MsgBox "Alerte présentation des offres pour dossier " & c.Offset(0, -15) & " est définie dans " & ecart & " jours" & vbLf & _
"Merci de faire le nécessaire "
c.Interior.Color = RGB(255, 0, 0)
End If
Next
End Sub
 

Pièces jointes

  • Base travail 1.xlsm
    17.7 KB · Affichages: 32

armorik75

XLDnaute Nouveau
Bonjour

Mon FAI est orange. Et quand je vais sur le site orange il est bien identifié smtp 465 pour la boite gmail. Pas clair non plus pour moi....mais il doit bien y avoir une solution !!!
Si quelqu'un passe par là et pouvais nous (me) filer un coup de pouce se serait sympa
 

armorik75

XLDnaute Nouveau
Bonjour à tous

Je reviens vers vous car je voudrais améliorer ma macro mais j'ai un petit peu de mal.

VB:
Sub Workbook_Open()
nbalert = 0
derlig = Sheets("Tableau suivi clients").Cells(Cells.Rows.Count, "A").End(xlUp).Row
For Each c In Sheets("Tableau suivi clients").Range("P2:p" & derlig)
ecart = c - Date
c.Interior.ColorIndex = -4142
If ecart <= 15 And c.Offset(0, 20) < 2 And c <> "" Then
Call envoi(c.Offset(0, -15) & " arrive à échéance dans " & ecart & " jours")

nbalert = nbalert + 1
c.Interior.Color = RGB(255, 0, 0)
End If
Next
End Sub



Sub envoi(mess)
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
With iConf.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxxxxxxxxx@orange.fr"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxxxxxxxxxx"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
.Update
End With
With iMsg
Set .Configuration = iConf
.To = "xxxxxxxxxxx@gmail.com"
.CC = ""
.BCC = ""
.From = "xxxxxxxxxxxxxx@gmail.com"
.Subject = "ALERTE CLAUSES SUSPENSIVES DOSSIER"
.TextBody = mess
.Send

End With
End Sub

Dans un premier temps je voudrais rajouter le nom du dossier correspondant à l'alerte dans l'objet du mail à la ligne Subject mais je n'y arrive pas.

Dans un 2ème temps je voudrais insérer un code afin de mettre une restriction à savoir quand un mail a été envoyé pour un dossier la macro n'en renvoi plus un pour le dossier concerné. Je pense que la macro doit écrire une information dans une colonne (par exemple colonne AS de mon tableau).

Vous en pensez quoi ? Merci pour votre aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 110
Messages
2 085 388
Membres
102 882
dernier inscrit
Sultan94