VBA envoie de mail : Une feuille 10 onglets 5 mail(2 onglets par mail)

anthooooony

XLDnaute Occasionnel
Bonjour,

J'ai vu beaucoup de commentaire sur le sujet demandé disant que ça a été souvent évoqué néanmoins je ne trouve pas du tout ma réponse...

Avant d'écrire ce post, j'ai tout de même fait mes petits recherches

Ce que j'ai vu sur le forum :
"Par macro, joindre par courriel un extrait du fichier"
"envoi automatique d'email avec cellules d'ongle"
"copie automatique de lignes de différents onglets"

Les sujets se portent souvent sur des copies de cellule, ligne, colonne, pour envoie par mail
fichier pdf à mettre en pièce jointes mais pas trouvé celui d'envoyer les onglets souhaités à un utilisateur déterminé.

Je dois avoir une 10ène d'onglet et je souhaiterais envoyer tous ces onglets, 3 à certaines personnes, 2 à d'autres, les destinataires sont toujours les mêmes ainsi que les onglets à leur envoyer. Il s'agit en faite d'envoyer au manager des taches à mener des N-1.

Le code ci dessous envoie le classeur entier via ".Attachments.Add ActiveWorkbook.FullName"

Alors j'ai essayé .Attachments.Add Sheets("Feuil1") mais à envoie bien le mail mais sans pièce jointe.
Je me suis dis si je reussi pour un je dupliquerais pour adapter le reste mais je n'ai pas encore reussi à cet instant.

En vous remerciant par avance de l'aide que vous pourriez m'apporter.

Cordialement

Anthooooony

Code:
Sub Envoifeuilleactive()

Dim OutApp As Object
Dim OutMail As Object
Dim nbdossier As Integer
Dim nbmontant As Long
Dim aujourdhuimontant As Long
nbdossier = Sheets("Feuil1").Cells(4, 10)
nbmontant = Sheets("Feuil1").Cells(4, 11)
symbole1 = Sheets("Feuil1").Cells(4, 9)
symbole2 = Sheets("Feuil1").Cells(4, 12)
aujourdhuimontant = Sheets("Feuil1").Cells(4, 8)
aujourdhuinb = Sheets("Feuil1").Cells(4, 7)

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    Application.DisplayAlerts = False
    On Error Resume Next
    With OutMail
           .to = "anthoooooony@hotmail.com"
                .Subject = " Relance + 45 jours Nombre de client en retard : " & aujourdhuinb & " pour " & Format(aujourdhuimontant, " # ### ##0") & " €"
        .Attachments.Add ActiveWorkbook.FullName
  .HTMLBody = "<font face='Calibri'>Bonjour, <b><u></u></b><br>" & _
              "  " & "<br><br>" & _
                     " Ci-dessous des statistiques concernant les retards de relance client à + 45 jours (CSP Nanterre)" & "<br><br>" & _
                         "<u><b><font color='blue'> Nombre de Client à relancer aujourd'hui = </font></b></u>" & "  :  " & aujourdhuinb & "<br><br>" & _
                         "<u><b><font color='blue'> Montant en retard = </font></b></u>" & Format(aujourdhuimontant, " # ### ##0") & " €" & "<br><br>" & _
                                       "  " & "<br><br>" & _
                "<u><b><font color='blue'>Pour information la variation des retards de +45jours entre aujourd'hui et hier :</font></b></u><br><br>" & _
        "Variation nombre de client par rapport à J-1   =   " & symbole1 & " " & nbdossier & "<br><br>" & _
        "Variation Montant par rapport à J-1   =   " & symbole2 & " " & Format(nbmontant, " # ### ##0") & " €" & _
            "  " & "<br><br>" & _
             "  " & "<br><br>" & _
        "<u><b><font color='blue'>Le reporting basé sur retard à + 45jours est composé des tableaux suivant : </font></b></u><br><br>" & _
           " - L'évolution des retards en nombre et en montant " & "<br><br>" & _
           " - L'évolution des retards de CR20 " & "<br><br>" & _
           " - L'évolution des retards de chaque chargé hors CR20 en Montant" & "<br><br>" & _
           " - L'évolution des retards de chaque chargé hors CR20 en Nombre" & "<br><br>" & _
           " - L'évolution du Nombre moyen de retard par jour et par Chargé" & "<br><br>" & _
           " - La répartition moyenne par chargé en pourcentage " & "<br><br>"


        .Send   'or use .Display
        
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
     
ActiveWorkbook.Save
'ActiveWorkbook.Close
Application.DisplayAlerts = True
  End Sub
 

Yaloo

XLDnaute Barbatruc
Re : VBA envoie de mail : Une feuille 10 onglets 5 mail(2 onglets par mail)

Bonsoir Anthoooony,

Vois avec le fichier ci-joint.

A te relire

Martial
 

Pièces jointes

  • Anthooony.xlsm
    23.9 KB · Affichages: 75
Dernière édition:

anthooooony

XLDnaute Occasionnel
Re : VBA envoie de mail : Une feuille 10 onglets 5 mail(2 onglets par mail)

Bonjour Yaloo,

Je te remercie de me venir en aide ci souvent !!

Peux tu me dire quel est la différence entre le code qu'il y a dans le module et celui qui est dans la feuille "liste"?

J'ai essayé celui de la "liste" et il s’arrête à "kill rep_Fichier"

Celui du module s’arrête à .Attachments.Add Fichier il dit que "le chemin d'accès n'existe pas. Assurez vous qu'il est correct"


Sais tu quel est le problème?


Cdt
Anthooooony
 

Yaloo

XLDnaute Barbatruc
Re : VBA envoie de mail : Une feuille 10 onglets 5 mail(2 onglets par mail)

Bonjour Antoooony, le forum,

Il faut utiliser la macro de la feuille "Liste".

L'autre n'est pas bon, d'ailleurs je l'ai supprimé et remis le fichier dans mon post précédent.

Je ne vois pas pourquoi il s'arrête à "Kill Rep_Fichier"

Ton fichier est écrit sur un serveur ? Si oui, as-tu la possibilité d'écrire et de supprimer des fichiers sur ce serveur ?

A+
 

anthooooony

XLDnaute Occasionnel
Re : VBA envoie de mail : Une feuille 10 onglets 5 mail(2 onglets par mail)

Rebonjour,

Il écrit bien sur un serveur, et je peux en effet ecrire et supprimer les fichiers que je souhaite.

Le message d'erreur que j'ai c'est erreur 1004 !! j'ai deja eu ça il y a longtemps sur un autre projet c'était du à un module que je n'avais pas et qu'il fallait rajouter dans reference je crois..
 

Yaloo

XLDnaute Barbatruc
Re : VBA envoie de mail : Une feuille 10 onglets 5 mail(2 onglets par mail)

Re,

Voici ce que dit le support Microsoft
Erreur d'exécution '1004' : La méthode '~' de l'objet '~' a échoué
En règle générale, ces erreurs sont dues à l'échec de l'initialisation de VBA en raison d'autorisations insuffisantes ou de composants VBA non inscrits dans le Registre ; ces deux problèmes sont courants lorsqu'un utilisateur exécute du code à partir d'un compte sans profil utilisateur (problème 1) et que le jeton d'utilisateur ne contient pas l'identificateur de sécurité (SID) interactif (problème 2).

Peut être, en effet, une référence, mais je ne vois pas laquelle.



A+
 

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 838
dernier inscrit
Christelle.B86