J'ai réalisé une macro qui compare les cellules d'une colonne avec la date du jour.
Si le resultat ets <= à 3 et > à 0 alos cela envoit un mail
voici le code
Code:
Dim i As Long
For i = 1 To Range("A65536").End(xlUp).Row
If DateDiff("m", Cells(i, 1), Date) <= 3 And DateDiff("m", Cells(i, 1), Date) > 0 Then
Call EnvoiClasseurAd
End If
Next i
End Sub
Le seul problème c'est que dès que la condition est réunie il m'envoit un mail ce qui fait que je me retouve spammé de mail.....
Bonsoir Ju3979 et bienvenue ,
En même temps que tu envoies un mail, mets par exemple un "1" dans la colonne B de la même ligne, et après testes si la colonne B est = 0, alors mail, sinon, pas de mail ...
Bonne soirée
Je ne sais pas comment éxécuter ma macro de manière automatique: soit à l'ouverture d'excel mais cela ne semble pas fonctionner soit avec une tahce planifiée ??
Pour la réponse ci dessous je ne peux pas écrire dans le fichier ce genre d'information.. a moins qu'elle soit invisible pour les utilisateurs...
Je ne sais pas comment éxécuter ma macro de manière automatique: soit à l'ouverture d'excel mais cela ne semble pas fonctionner soit avec une tahce planifiée ?? Tout dépend de ce qui déclenche l'envoi, et comment le classeur est renseigné... C'est difficile de faire des hypothèses sans un peu de matière... On a bien compris que tu veux un mail quand la date prévue est entre aujourd'hui et dans 3 mois. Mais comment cette date est-elle saisie ? Pourquoi ? Etc.
Pour la réponse ci dessous je ne peux pas écrire dans le fichier ce genre d'information.. a moins qu'elle soit invisible pour les utilisateurs... C'est pas bien d'espionner les petits camarades ... Tu peux éventuellement stocker dans une feuille invisible, mais ça va être le bordel, à moins que tu ne possède une clef primaire... La logique serait de supprimer la ligne une fois qu'elle a donné un mail, mais ça ne semble pas possible...