envoi mail automatique sous condition

tigre117

XLDnaute Junior
salut tous les membres j'ai un probléme pour l'execution de fichier
dans le cadre de rappel je vais récevoir un mail depuis excel d'une façon automatique sous le condition suivant
dans la feuille de suivi j'ai la colonne E est une colonne d' alerte et la colonne F est une colonne dont laquelle j'ai un description des taches alors je vais faire le suivant :
lorsque les cellules EXXXX contient l'alerte "Attention, date depasséé" alors les contenu de cellules FXXXX sera envoyée automatiquement par mail sans cliquer sur le bouton envoyer au dessus de fichier
merci pour tous les membres avec tous mes respects
 

Pièces jointes

  • Copie de maintenance preventif %252831%2529.xlsm
    29.2 KB · Affichages: 53

sousou

XLDnaute Barbatruc
Bonjour
Il te faudra toujours un élément déclanchant l'envoi, ça peut être à l'ouverture du fichier, ou autres (heure, action....), mais il faut en choisir un
Là tu tests tes conditions et tu envois ton mail
 

tigre117

XLDnaute Junior
bonsoir sousou merci de me repondre
bon si t'ouvre la feuille d'enregistrement il y ont 20 tableau et si tu change la date d'intervention par exemple d'element 1 cellule D4 automatiquement la cellule E5 dans feuille de suivi apparaitra le texte "attention ,date depassée" bien sur si tu met une date saffé 355 jours en arriere d'aujourdh'ui donc le declanchement sera lorsque "attention date ,depassée " apparaitra dans la celule E5 voila
 

sousou

XLDnaute Barbatruc
bonsoir
essaie ceci pour tester

Private Sub Worksheet_Change(ByVal Target As Range)
If Me.Cells(3, Target.Column).Value = "date d'intervention" Then
If (Target.Value <> "") And (Target.Offset(0, 1) <> "") Then
Col = CByte(Replace(Target.Offset(-2, -2), "Element ", ""))
If Feuil1.Cells(Col + 4, 5) = "Attention, date dépassée!" Then
MsgBox "envoi de mail"
End If
Clignote Feuil1.Range("D" & Col + 4)

End If

End If
End Sub
 

tigre117

XLDnaute Junior
bonsoir sousou je vient de voir ton message maintenant bon je vou sinforme que j'ai essayé avec ce code mais toujours meme probleme erreur d'exuction '287' erreur definie par l'apllication ou par l'object
voila le code que j'ai crée
Private Sub Worksheet_Change(ByVal Target As Range)
If Me.Cells(3, Target.Column).Value = "date d'intervention" Then
If (Target.Value <> "") And (Target.Offset(0, 1) <> "") Then
Col = CByte(Replace(Target.Offset(-2, -2), "Element ", ""))
If Feuil1.Cells(Col + 4, 5) = "Attention, date dépassée!" Then
MsgBox "envoi de mail"
End If
Clignote Feuil1.Range("D" & Col + 4)

End If

End If
End Sub




Option Explicit

Private Sub Worksheet_Activate()
Mail_small_Text_Outlook
End Sub

Private Sub Worksheet_Calculate()
Mail_small_Text_Outlook
End Sub

Sub Mail_small_Text_Outlook()
Dim strBody, ligne
Dim messagerie As Object
Dim email As Object

MsgBox "procédure d'envoi"

strBody = ""
For ligne = 5 To Cells(5, "F").End(xlDown).Row
If Cells(ligne, "E").Value = "Attention, date dépassée!" Then
strBody = strBody & "description : " & Cells(ligne, "F").Value & vbCrLf
End If
Next

Set messagerie = CreateObject("Outlook.Application")
Set email = messagerie.CreateItem(0)
With email
.To = "mounir_kraim@hotmail.com"
.Subject = "Avertissement sur Tâche"
.body = strBody
.send
End With
Set email = Nothing
Set messagerie = Nothing

End Sub
 

tigre117

XLDnaute Junior
bonsoir sousou bon je vais envoyer mon fichier et le code se fonctionne lorsque attention date depassée apparaitre dans les cellules de la colonne EXXXXX mais le probléme le procedure d'envoi effectué sauf aprés execution du code et moi je préfere que l'envoi sera envoyé automatiquement lorsque "attention ,date depassée" apparaitra merci de m'envoyer une solution clair
 

Pièces jointes

  • Copie de maintenance preventif %281%29 (1).xlsm
    32.4 KB · Affichages: 53

Discussions similaires

Réponses
22
Affichages
2 K

Statistiques des forums

Discussions
312 836
Messages
2 092 648
Membres
105 478
dernier inscrit
tim51