Envoie mail avec sous conditions (excel2003)

Tazko

XLDnaute Nouveau
Bonjour,

Aprés plusieurs recherches sur le forum j'ai trouvé la moitié de ce que j'ai besoin:
c'est pour cela je viens vers vous demander de l'aide, en faite j'ai ce code ci dessous qui fontionne parfaitement , je souhaite rajouter une condition :
les mails seront envoyé pour rappel à ceux qui sont en retard sachant que -
-les noms sont en colonne C
- les dates en colonne E
-infos generale colonne z
- l'intitulé est fixe " retard de.............."

quand la date est supérieur à la date d'aujoud'hui ça me prépare le mail sur outlook 2003là j'éxecute la macro ...et la colonne concerné peut contenir une centaine de dates
j'ai essayé de faire par exemple quelques manipulation telque:

'For i = 7 To 100

'If Now() >= Cells(i, 9) Then

'Email = Cells(i, 8)
'Subj = "Retard"
Msg = ""
Msg = Msg & "Chèr(e) " & Cells(i, 7) & "," & vbCrLf & vbCrLf
Msg = Msg & "Vous êtes en retard sur le projet " & Cells(i, 4) & " devant se terminer le "
Msg = Msg & Cells(i, 9).Text & "." & vbCrLf & vbCrLf
Msg = Msg & "Nom et Prénom" & vbCrLf
Msg = Msg & "Statut"

Mais j'ai pas reussi...
Quelqu'un a une idée s'il vous plait?


Premier code simple qui fonctionne bien:
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String

MailAd = "jjjjj@jjjj.com"
Subj = "attention verification"
Range("G2") = "Mon texte"

Range("G2").Select

MsgBox Msg
URLto = "mailto:" & MailAd & "?subject=" & Subj
ActiveWorkbook.FollowHyperlink Address:=URLto

' Boucle d'attente que Outlook se lance
Dim WaitBegin As Long, WaitEnd As Long
WaitBegin = Timer
WaitEnd = WaitBegin + 1
Do Until Timer >= WaitEnd
DoEvents
Loop

SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys "{TAB}"
SendKeys Msg

End Sub

En vous remerciant d'avance

Bonne journée
 

john

XLDnaute Impliqué
Re : Envoie mail avec sous conditions (excel2003)

Re,

Voilà j'ai trouvé un peu de temps pour travailler sur le fichier.

Normalement ça devrai aller chez toi, si ça pose encore un problème avec "destinataire" c'est que tu n'as pas activé l'option "microsoft outlook library" car chez moi ça fonctionne très bien sans erreur.

Bonne journée.

John
 

Pièces jointes

  • envoimailviaexcel03.xls
    54.5 KB · Affichages: 54

Tazko

XLDnaute Nouveau
Merci pour ton message et merci d’être intéressé a mon petit problème.
De mon coté j'essaye de trouvé des solutions, d'ailleurs j'ai trouvé une alternative au problème du signe "="

J'ai remplacé

If Now() = Cells(i + 6, 9) Then......


Par
J'ai mis la date du jour dans toute la colonne k
if Cells(i + 6, 9) = Cells(i + 6, 11) then...
ça marche mais je pense pas que c'est la meilleure formule...en faite je ne comprend pas pourquoi quand on met "<" ou ">" ça marche très bien mais pas qu'on met "=", peut être parce que now attribue aussi l'heure?????

En tout cas bon courage pour ton boulot..

Amicalement,
 

Tazko

XLDnaute Nouveau
Bonjour JOHN,

merci beaucoup de m'avoir accordé un peu de ton temps et de m'avoir aidé Ça marche très bien, en tout cas j'aurais jamais pu programmer ça....je pencherais plus tard sur les détails de ces codes c'est très intéressant.

j'ai une autre question s'il te plais et si tu as un peu de temps, existe il un moyen pour regrouper toutes les lignes détectés dans un seul e mail (body)?, vue que j'ai un seul interlocuteur.

J'ai regardé un peu sur le forum , d'autres solutions existent tel que envoyé une feuille....mais je trouve pas une macro pareil...

Amicalement et Bon courage pour ton travail
 

john

XLDnaute Impliqué
Re : Envoie mail avec sous conditions (excel2003)

Re,

Voilà qui est fait, il suffisait de le demander :eek:)

A toi d'adapter selon tes besoins.

Bonne fin de journée.

John
 

Pièces jointes

  • envoimailviaexcel04.xls
    63.5 KB · Affichages: 46

Tazko

XLDnaute Nouveau
Bonjour JOHN,

Super ca fonctionne trés bien,merciiiiiiiiiiii;

Parcontre j'ai 2 derniers souci si tu peux encore me consacré un peu de temps s'il te plais..

1/quand je laisse 1 seule date ou pas de date du tout dans la colonne date dans mon tableau il me renvoie "erreur 9

ligne = dateencodee_text = dateencodee(0) & "/" & dateencodee(1) & "/" & dateencodee(2) "

2/j'ai rajouté 2 feuilles et j'ai recopié la meme formule(rien ne change sauf le body du mail), j'ai changé seulement "with sheets("xxxx")...." rien ne se passe, peut etre j'ai mal introduit le with ....end with..


En te remerciant d'avance

Amicalement
 

Pièces jointes

  • envoimailviaexcel05.xls
    92 KB · Affichages: 45

john

XLDnaute Impliqué
Re : Envoie mail avec sous conditions (excel2003)

Bonjour,

JNP ==> Merci, je suis persévérant et j'aime que tout soit fini une fois que je suis sur un fichier :eek:

Tazko ==> Voilà j'ai modifié le fichier selon tes besoins, il fallait mettre une condition supplémentaire pour tester si il y a une date encodée ou non et pour les "With" en fait avec "With activesheet" c'est suffisant, il ne faut pas rajouter d'autre "With" par contre il faut faire un test pour savoir si on se trouve sur telle ou telle feuille (comme dans ton exemple "RETARD", "FACTURATION" et "ANNULATION"). Là je me sert simplement d'un "select case" et selon le cas le corp du texte de ton mail change.

Si tu as encore des questions, n'hésite pas je suis là :eek:)

Bonne journée.

John
 

Pièces jointes

  • envoimailviaexcel06.xls
    89.5 KB · Affichages: 61
Dernière édition:

Tazko

XLDnaute Nouveau
Bonjour JOHN,

Pas de commentaires !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ca marche trés bien...

Merci beaucoup:eek:

j'ai activé l'option "microsoft outlook library" et ça fonctionne.

ps=Merci a tous les intervenants

Amicalement et a bien tôt
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 815
Membres
104 673
dernier inscrit
lautard