Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Envoi mail excel-macro conditions

djam28

XLDnaute Occasionnel
Bonsoir à tous,
J'ai une macro qui fonctionne bien avec une date d'échéance comme condition pour l'envoi de mail (intervalle de date, colonne C). J'ai rajouté deux colonnes D et E que j'ai nommées Alerte1 et Alerte 2, de façon à envoyer au maxi 2 alertes. Je voudrais ajouter une autre condition : and si Alerte1="ok" ou Alerte2="ok" à ma ligne de code ci-dessous


(If xRgDateVal <> "" Then

If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then

Une dernière chose, est-il possible d'attacher un PDF de façon automatique? Comment créer le path svp
Merci par avance
Bonne nuit
DE
 

Pièces jointes

  • Send mail.xlsm
    19.3 KB · Affichages: 11
Solution
re,

en détricotant un peu plus ton code.
VB:
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 And (Cells(xRgDate.Offset(i - 1, 0).Row, 4).Value = “Yes” Or Cells(xRgDate.Offset(i - 1, 0).Row, 5).Value = “Yes”) Then

Bien cordialement,@+

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour djam28, le forum

pas testé mais cela devrait fonctionner comme vous le voulez
Code:
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 And (Cells(xRgDateVal.Row, 4).Value = “Yes” Or Cells(xRgDateVal.Row, 5).Value = “Yes”) Then

Pour votre pièce jointe, remplacez fichierfullname par le chemin complet de votre fichier
J'ai corrigé votre code pour que les signatures soient intégrées
VB:
With xMailItem
    .Display
    .Subject = "Visite annuelle" 'xMailSubject
    .To = xRgSendVal
    .HTMLBody = .xMailBody & HTMLBody
    .Attachments.Add fichierfullname
    .Send
End With

Bien cordialement, @+
 

djam28

XLDnaute Occasionnel
Bonjour Bernard,
Merci pour ton retour. En rajoutant le bout de code ci-dessous cela me génère une erreur. Ca point sur xRgDateVal. J'ai enlevé Val, mais la condition n'est pas prise en compte. J'ai mis la condition (Cells(xRgDateVal.Row, 4).Value = “Yes” Or Cells(xRgDateVal.Row, 5).Value = “Yes”) entre parenthèse non plus.
Merci pour ton aide
DE
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
re,

en détricotant un peu plus ton code.
VB:
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 And (Cells(xRgDate.Offset(i - 1, 0).Row, 4).Value = “Yes” Or Cells(xRgDate.Offset(i - 1, 0).Row, 5).Value = “Yes”) Then

Bien cordialement,@+
 

djam28

XLDnaute Occasionnel
Désolé mais l'envoi est systématique, qu'il y ait la condition yes ou non, le mail est envoyé
Doit-on peut-être faire une déclaration de variable Dim xAlerteVal au tout début , mais je n'ai pas réussi non plus, même en modifiant les choses..
Merci de ton aide
Cdlt
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…