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 :

Macro envoi d'email automatique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2014
    Messages : 12
    Par défaut Macro envoi d'email automatique
    Bonjour, je voudrais ajouter ma signature déjà configurée dans Outlook à la macro suivante et aussi faire cet envoi à partir d'une boite commune et non perso :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    Sub Mail_ActiveSheet()
    'Working in Excel 2000-2016
    'For Tips see: <a href="http://www.rondebruin.nl/win/winmail/Outlook/tips.htm" target="_blank">http://www.rondebruin.nl/win/winmail/Outlook/tips.htm</a>
        Dim FileExtStr As String
        Dim FileFormatNum As Long
        Dim Sourcewb As Workbook
        Dim Destwb As Workbook
        Dim TempFilePath As String
        Dim TempFileName As String
        Dim OutApp As Object
        Dim OutMail As Object
     
        With Application
            .ScreenUpdating = False
            .EnableEvents = False
        End With
     
        Set Sourcewb = ActiveWorkbook
     
        'Copy the ActiveSheet to a new workbook
        ActiveSheet.Copy
        Set Destwb = ActiveWorkbook
     
        'Determine the Excel version and file extension/format
        With Destwb
            If Val(Application.Version) < 12 Then
                'You use Excel 97-2003
                FileExtStr = ".xls": FileFormatNum = -4143
            Else
                'You use Excel 2007-2016
                Select Case Sourcewb.FileFormat
                Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
                Case 52:
                    If .HasVBProject Then
                        FileExtStr = ".xlsm": FileFormatNum = 52
                    Else
                        FileExtStr = ".xlsx": FileFormatNum = 51
                    End If
                Case 56: FileExtStr = ".xls": FileFormatNum = 56
                Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
                End Select
            End If
        End With
     
        '    'Change all cells in the worksheet to values if you want
        '    With Destwb.Sheets(1).UsedRange
        '        .Cells.Copy
        '        .Cells.PasteSpecial xlPasteValues
        '        .Cells(1).Select
        '    End With
        '    Application.CutCopyMode = False
     
        'Save the new workbook/Mail it/Delete it
        TempFilePath = Environ$("temp") & "\"
        TempFileName = "Part of " & Sourcewb.Name & " " & Format(Now, "dd-mmm-yy h-mm-ss")
     
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
     
        With Destwb
            .SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
            On Error Resume Next
            With OutMail
                .To = Range("C10")
                .CC = Range("B31")
                .BCC = ""
                .Subject = Range("B1")
                .Body = "Bonjour, vous trouverez ci-joint les états récapitulatifs reprenant pour chacun de vos clients, les montants à percevoir au titre de leurs commandes ......, sur la période d' Avril 2017. La perception de cette facturation est désormais à saisir dans PERLA selon le mode opératoire que vous trouverez en pièce jointe. Si vous rencontrez des problèmes, merci de contacter par mail . Cordialement. "
     
                .Attachments.Add Destwb.FullName
                .Attachments.Add (".pdf")
                'You can add other files also like this
                '.Attachments.Add ("C:\test.txt")
                .Send   'or use .Display
            End With
            On Error GoTo 0
            .Close savechanges:=False
        End With
     
        'Delete the file you have send
        Kill TempFilePath & TempFileName & FileExtStr
     
        Set OutMail = Nothing
        Set OutApp = Nothing
     
        With Application
            .ScreenUpdating = True
            .EnableEvents = True
        End With
    End Sub
    Merci de m aider sur ce Pb

    Py

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Pour la signature, ajoute un .Display au début et ajoute ton body à ce body créé par le .Display
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    With OutMail
                .Display  '<<<<
                .To = Range("C10")
                .CC = Range("B31")
                .BCC = ""
                .Subject = Range("B1")
                .Body = "Bonjour, vous trouverez ci-joint les états récapitulatifs reprenant pour chacun de vos clients, les montants à percevoir au titre de leurs commandes ......, sur la période d' Avril 2017. La perception de cette facturation est désormais à saisir dans PERLA selon le mode opératoire que vous trouverez en pièce jointe. Si vous rencontrez des problèmes, merci de contacter par mail . Cordialement. " & .Body  '<<<<
     
                .Attachments.Add Destwb.FullName
                .Attachments.Add (".pdf")
                'You can add other files also like this
                '.Attachments.Add ("C:\test.txt")
                .Send   'or use .Display
            End With
    Pour la boîte commune, je ne sais pas (?)

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    en envoi "pour le compte de" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .SentOnBehalfOfName = "Expediteur@Expediteur.Expediteur"
    En envoi "transparent", avec SendUsingAccount :
    - https://msdn.microsoft.com/en-us/library/bb207787.aspx
    - https://msdn.microsoft.com/fr-fr/lib.../ff865634.aspx
    Pour adapter via l'adresse du compte : https://msdn.microsoft.com/fr-fr/lib.../ff864252.aspx

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    J'en apprends encore une autre...

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2014
    Messages : 12
    Par défaut
    Bonjour,


    Merci beaucoup à vous pour votre aide et vos retours rapides,

    J'ai encore 2 questions :

    1) J ai bien rajouté le .Display afin d'ajouter ma signature mais du coup je n 'arrive plus à afficher le texte qui était dans .Body
    Ainsi je n 'ai plus que la signature sans le corps de mail.

    2) Pour le code: .SentOnBehalfOfName = "Expediteur@Expediteur.Expediteur" : A quel endroit dois-je ajouter cette ligne de code ?

    Merci et bonne journée

    Py

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    dans le Bloc With/End With de OutMail

    cette propriété appartient à l'objet MailItem

    A noter qu'il n'est pas nécessaire que la boite partagée soit Mappée sur le client Outlook d'où le mail est envoyé. Il suffit d'avoir un accès délégué avec option d'envoi à la boite partagées sur le serveur et l'envoi est possible.

Discussions similaires

  1. Envoi d'emails automatiquement dans mon application
    Par n2engineer5 dans le forum Android
    Réponses: 6
    Dernier message: 31/10/2013, 12h26
  2. service windows pour envoi d'emails automatiquement
    Par fasarah dans le forum Services Windows
    Réponses: 2
    Dernier message: 09/04/2012, 16h35
  3. Envoi d'email automatique
    Par doudou_ca dans le forum ASP.NET
    Réponses: 6
    Dernier message: 01/12/2009, 21h13
  4. [PB 10] Envoi d'Email automatique
    Par raph38 dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 26/02/2008, 15h18
  5. [Excel/Macro] Envoi d'Email après enregistrement
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/11/2005, 09h15

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