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 :

Automatiser l'envoi de mails sur outlook depuis excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Août 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Automatiser l'envoi de mails sur outlook depuis excel
    Bonjour à toutes et à tous,

    Je cherche à automatiser l'envoi de mails sur outlook depuis excel.

    Je dispose d'un fichier excel qui répertorie en fonction de chaque individu, une date limite de fin de validité de formation. je souhaiterais que, "un mois avant que cette date arrive à échéance" pour chaque individu, dans une formation correspondante soit envoyer un email automatique à un groupe de personne pour proceder à la mobilisation de l'agent pour un recyclage de formation.

    Ex : fichier joint..

    A1 NOM B1PRÉNOM C1CLIENT D1Poste occuppé E1Faite le F1Expire le G1 Statut(Expiré) .........
    (envoi du mail à un groupe de collaborateur un mois avant échéance"Expiré" )

    Je souhaiterais avoir une macro qui exécuterait l'envoi du mail : pour chaque formation où est indiqué le message "expiré,

    Enfin la macro finirait en indiquant la date du mail envoyé dans les cellules correspondantes de la colonne de formation arrivée à échéance.

    En résumé, à chaque fois que la macro rencontre une cellule de la colonne "Expiré"

    PS: Les destinataires seront des variables changeantes, c'est pour cette raison qu'il serait préférable que la macro demande à l'utilisateur l'email.

    Est-ce possible ?
    Merci d'avance à toutes et à tous pour votre assistance. ;
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il y a de nombreux éléments ici :
    https://excel.developpez.com/faq/?page=Messagerie
    https://excel.developpez.com/sources/?page=Outlook

    Je te conseille de commencer à développer ton application en utilisant ces éléments et de revenir poser des questions techniques lorsque tu rencontreras des difficultés précises.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Août 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    j'ai tout de même éplucher les différents sujets ayant été traité notamment:

    http://www.developpez.net/forums/d13...nction-d-date/
    http://www.developpez.net/forums/d10...59-80004005-a
    Et ce que vous m'avez donner
    https://excel.developpez.com/faq/?page=Messagerie
    https://excel.developpez.com/sources/?page=Outlook

    dont j'avoue m'être fortement inspiré je ne le cacherai pas.

    j'insiste sur le fait que j'ai planché dessus, mais le problème dépasse mes compétences.

    outlook est ouvert et connecté.
    avec la version où l'adresse renseignée est outllook, le message d'erreur qui apparait est le suivant:

    Run-time error '-2147417851 (80010105)'
    Method 'body' of object'_MailItem' failed
    Si vous pouvez me venir en aide ca serait top!

    Par avance merci.

  4. #4
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 453
    Points : 2 213
    Points
    2 213

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Freshkoko Voir le message
    avec la version où l'adresse renseignée est outllook, le message d'erreur qui apparait est le suivant:

    Run-time error '-2147417851 (80010105)'
    Method 'body' of object'_MailItem' failed
    Présente le code concerné (de préférence entre balises CODE).
    Indique la ligne de code qui génère l'erreur.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Août 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonsoir le code concerné est le suivant (Alerte fin de validité Badge D):

    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
    Sub Alertes()
    Dim B As Range, OL As Object, M As Object, Plage As Range
        Set olApp = CreateObject("Outlook.application")
        With Sheets("Service MP2")
            Set Plage = .Range(.[H4], .Cells(.Rows.Count, 1).End(xlUp))
        End With
        For Each B In Plage
            If B.Offset(, 5) - Date <= 30 Then
              Set M = olApp.CreateItem(olMailItem)
              With M
                  .Subject = "Alerte fin de validité Badge D"
                  .Body = B.Offset(, 19)
                  .Recipients.Add B.Offset(, 20)
                  .send
               End With
    a ligne 12...

    sachant que le code se répète pour:
    • Alerte fin de validité H2S
    • Alerte fin de validité Formation BOSIET
    • Alerte fin de validité Visite Médicale
    • Alerte fin de validité Badge


    Merci pour la réaction.

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                  .Body = B.Offset(, 19).Text
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Août 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour Menhir,

    Apres avoir essayé comme tu m'as conseillé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Body = B.Offset(, 19).Text
    j'ai maintenant cette erreur.

    Run-time error '-2247467259 (80004005)'
    Outlook does not recognize one or more names.
    Après debug Erreur à la ligne suivante (14):

    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()
        Dim B As Range, OL As Object, M As Object, Plage As Range
        Set olApp = CreateObject("Outlook.application")
        With Sheets("Service MP2")
            Set Plage = .Range(.[H4], .Cells(.Rows.Count, 1).End(xlUp))
        End With
        For Each B In Plage
            If B.Offset(, 5) - Date <= 30 Then
              Set M = olApp.CreateItem(olMailItem)
              With M
                  .Subject = "Alerte fin de validité Badge D"
                  .Body = B.Offset(, 19).Text
                  .Recipients.Add B.Offset(, 20)
                  .send
               End With
            End If
    Merci d'avance pour la prochaine astuce.

  9. #9
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    En parallèle aux indications de Menhir, que je salue au passage, j'avais livré un exemple de développement pour copier une image d'Excel contenant le texte approprié vers Outlook.
    Pour ce, voir cette discussion.

    Freshkoko,

    2 conseils
    1- Par souci de lisibilité, retourne tout code en utilisant les balises #
    2 - Par souci de lisibilité également, prends l'habitude d'indenter tant que possible tout code. Soit la mise en retrait de toute ligne comprise dans un bloc (If, For, With..)

    Pour le reste, ne souhaitant pas lui griller la politesse, je laisse Menhir répondre.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Freshkoko Voir le message
    j'ai maintenant cette erreur.

    Run-time error '-2247467259 (80004005)'
    Outlook does not recognize one or more names.
    A priori, Outlook ne reconnait pas tes destinataires.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  11. #11
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Août 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut


    Je suis vraiment dans la panade . En effet, Outlook fonctionne bien mais pas dans mon cas.

    J'ai essayé de transformer le code avec d'autres modules trouvés sur le net mais ça ne fonctionne pas .

    Y aurait-il une âme charitable qui voudrait bien se pencher sur mon problème Car sans cette macro, je suis obligé de faire des envoie manuel des mails aux personnes concernées et celà me prend des heures et des heures tous les mois.

    je joint cette fois le fichier excel.

    D'avance...
    Fichiers attachés Fichiers attachés

  12. #12
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Bonjour,

    Y aurait-il une âme charitable qui voudrait bien se pencher sur mon problème
    Il y en a déjà qui l'ont fait ...

    Le dernier message d'erreur est explicite, outllook ne reconnait pas tes destinataires, a partir de là nous ne pouvons pas faire grand chose pour toi:
    soit .Recipients.Add B.Offset(, 20) ton offset est faux et tu ne vas pas chercher la bonne cellule
    soit ton offset est ok mais il y a des fautes d'orthographes dans les cellules qui empêchent Outlook de reconnaitre le destinataire

    Mais ça seul toi peut le vérifier.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/06/2019, 08h50
  2. [XL-2010] Envoi de mail sur outlook via vba
    Par tmadar dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/10/2016, 16h51
  3. [XL-2007] Automatiser le déplacement de mails dans outlook avec EXCEL
    Par Guiggs dans le forum Excel
    Réponses: 3
    Dernier message: 08/07/2013, 13h24
  4. [XL-2010] Envoi mail via Outlook depuis excel en VBA
    Par PATDRO dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/08/2012, 08h40
  5. [OL-2003] Automatiser l'envoi de mail avec outlook
    Par jfox dans le forum Outlook
    Réponses: 1
    Dernier message: 20/03/2009, 22h47

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