IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoi d'une alerte sur boite mail outlook en cas de dépassement de délais


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Envoi d'une alerte sur boite mail outlook en cas de dépassement de délais
    Bonjour,

    Je souhaite envoyer par mail à l'adresse correspondante en D3 (messagerie Outlook version 2003) une alerte pour dépassement de la date en A3. (date comparée à la date du jour (en A1).
    Le mail comprendra le texte: ' attention, le délais de réponse a été dépassé." et la copie de la ligne (A3:I3)

    Hélas mes connaissances en VB son nulles!

    MERCI pour votre aide!!
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Alertes()
        Dim OlApp As Object, M As Object, C As Range
        With Sheets("Feuil1")
            If .[A3] > .[A1] Then
                Set OlApp = CreateObject("Outlook.Application")
                Set M = OlApp.CreateItem(olMailItem)
                M.Subject = "attention, le délais de réponse a été dépassé."
                M.Body = .[A1].Text & vbCrLf & vbCrLf & .[A3].Text
                M.Recipients.Add .[D3]
                M.Display
                'M.Send
            End If
        End With
    End Sub
    Si c'est OK, enlève la ligne :

    et enlève l'apostrophe devant :


  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Daniel!

    Ca fonctionne super!
    Cependant, est il possible d'envoyer le message d'alerte sans ouvrir le fichier? ou alors que ca se fasse automatiquement sans devoir lancer la macro?

    Merci

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Mets ceci dans ton classeur de macros personnelles (tu dois changer le chemin et le nom du classeur). Si tu as une incompréhension avec le classeur de macros personnelles, dis-le. Tu dois donc exécuter cette macro "Alertes" (tu peux supprimer celle de ton classeur) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub Alertes()
    Set wbk = GetObject("C:\Users\Daniel\Documents\Donnees\Daniel\mpfe\yannick59190 Nouveau Feuille de calcul Microsoft Excel.xls")
    Set sh = wbk.Sheets("Feuil1")
    Dim OlApp As Object, M As Object, C As Range
    With sh
        If .[A3] > .[A1] Then
            Set OlApp = CreateObject("Outlook.Application")
            Set M = OlApp.CreateItem(olMailItem)
            M.Subject = "attention, le délais de réponse a été dépassé."
            M.Body = .[A1].Text & vbCrLf & vbCrLf & .[A3].Text
            M.Recipients.Add .[D3]
            M.Send
        End If
    End With
    wbk.Close False
    End Sub
    Une autre option serait d'ouvrir automatiquement le classeur au démarrage d'Excel. Il faudrait le modifier un peu pour éviter une double expédition si tu démarre deux fois Excel. C'est comme tu veux.

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je me permet de poster une question que cette conversation, ma demande ressemblant à celle de départ.

    Mon idée était qu'une première alerte s'affiche dans outlook 15 jours avant la date de prochaine intervention (colonne F) et une deuxième le jour même sans avoir à ouvrir le fichier excel.
    De plus, s'il est possible de pousser encore plus loin le programme, existe-t-il un moyen que cela ne programme pas la date de dernière intervention sur un week-end ou jour férié?

    Je ne sais pas si c'est très clair mais merci d'avance à ceux qui m'aideront!
    Images attachées Images attachées  

Discussions similaires

  1. [Outlook 2010] Lancer une macro sur un mail sélectionné
    Par hobbit3 dans le forum VBA Outlook
    Réponses: 14
    Dernier message: 19/05/2014, 22h19
  2. Réponses: 9
    Dernier message: 27/02/2013, 12h07
  3. Réponses: 0
    Dernier message: 23/02/2013, 15h38
  4. Envoie de Newsletter sur boite mail !
    Par Invité dans le forum Langages serveur
    Réponses: 5
    Dernier message: 05/07/2011, 11h38
  5. [XL-2003] Envoi d'une Alerte vers Outlook
    Par mobenjilali dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2011, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo