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 :

envoyer un mail sans passer par outlook


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 455
    Points : 323
    Points
    323
    Par défaut sans passer par outlook
    Bonsoir à tous,

    Est-il possible d'envoyer depuis excel un mail sans passer par outlook?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peut-être que ce code de la FAQ Access pourrait t'aiguiller : http://access.developpez.com/faq/?pa...ailPieceAttach

    Starec

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    et dans la FAQ Excel ... ;o)

    http://excel.developpez.com/faq/inde...ailCDOexchange


    bonne soirée
    michel

  4. #4
    Membre averti Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 455
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par SilkyRoad Voir le message
    bonsoir

    et dans la FAQ Excel ... ;o)

    http://excel.developpez.com/faq/inde...ailCDOexchange


    bonne soirée
    michel

    J'ai testé le code mais j'ai un message d'erreur: (voir image)
    et la ligne ".Send" est surligné en jaune

    Merci

    http://support.microsoft.com/kb/322338/fr
    Images attachées Images attachées  

  5. #5
    Membre averti Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 455
    Points : 323
    Points
    323
    Par défaut
    J'ai trouvé un morceau de code sur le net qui a trait à VBA ACCess mais là aussi ça bug
    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
    Public Function EnvoiMail(De As String, From As String, Sujet As String, Texte As String)
    Dim iMsg As New CDO.Message
    Dim iConf As New CDO.Configuration
    Dim Flds
    Set Flds = iConf.Fields
     
    With Flds
      .Item(cdoSendUsingMethod) = cdoSendUsingPort
      '.Item(cdoSMTPServerName) = "192.168.1.2" ' Si vous utilisez la librairie CDO pour exchange
      .Item(cdoSMTPServerName) = "smtp.mail.yahoo.fr"    ' Si vous utilisez la librairie CDO pour Windows 2000
      .Item(cdoSMTPConnectionTimeout) = 10
      .Item(cdoSMTPAuthenticate) = cdoBasic
      .Item(cdoSendUserName) = "rrrrr@yahoo.fr"
      .Item(cdoSendPassword) = "123456"
      .Item(cdoURLProxyServer) = "server:80"
      .Item(cdoURLProxyBypass) = "<local>"
      .Item(cdoURLGetLatestVersion) = True
      .Update
    End With
     
    With iMsg
      Set .Configuration = iConf
          .To = De
          .From = From
          .Subject = Sujet
          .TextBody = Texte
          '.AddAttachment "C:\un fichier quelconque"
          .Send
    End With
     
    End Function

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Juste une question : Pourquoi ne veux-tu pas passer par Outlook? De qu'elle messagerie disposes-tu ?

    Starec

  7. #7
    Membre averti Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 455
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par Starec Voir le message
    Bonjour

    Juste une question : Pourquoi ne veux-tu pas passer par Outlook? De qu'elle messagerie disposes-tu ?

    Starec
    La raison pour laquelle je ne veux pas passer par outlook, c'est parce que depuis 2002 il ya une sécurité qui empêche d'envoyer depuis excel un mail automatiquement.
    En fait il ya un message qui surgit: "un programme tente d'envoyer un ...."
    et je suis obligé de confirmer par "oui" à chaque fois que la macro s'execute ce qui n'est pas pratique si on veut faire une tâche planifiée.
    J'ai vu qu'il ya un utilitaire qui fait ça "Clickyes" mais son inconvénient c qui dit "oui" à tous.
    Voilà c pour ça que je veux envoyer un mail sans passer par outlook.
    par contre si vous connaissez unz astuce qui me permet de contourner le message d'erreur, je suis preneur.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 238
    Points : 236
    Points
    236
    Par défaut
    Bonjour,

    J'ai répondu à une question du même genre hier.

    http://www.developpez.net/forums/sho...d.php?t=431779

    Bonne journée

  9. #9
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Soir Bon

    Code trouvé sur un forum ( sorry, je n'ai noté ni le lien ni l'auteur )
    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
     
    Option Explicit
     
    '   Utilise une référence à Redemption Outlook Library
    '   Téléchargement au http://www.dimastr.com/redemption/
    '   Ce composant permet de court-circuiter les messages de sécurité d'Outlook
     
    Sub EnvoyerFichiersOutlook(AdrDestinataires As String, _
                               PJ As String, _
                               Optional Objet As String = vbNullString, _
                               Optional Msg As String)
     
    Dim objOutlook As Outlook.Application
    Dim NameSpace As Outlook.NameSpace
    Dim OutlookMsg As Outlook.MailItem
    Dim RedemptionMsg As Redemption.SafeMailItem
    'Destinataires et Pièces Jointes séparés par Sep
    Dim Dest() As String
    Dim PJointes() As String
    Dim iDest As Long, NbDest As Long
    Dim iPJ As Long, NbPJ As Long
    Const Sep As String * 1 = ";"
     
        Set objOutlook = New Outlook.Application
        Set NameSpace = objOutlook.GetNamespace("MAPI")
        NameSpace.Logon
     
        Set OutlookMsg = objOutlook.CreateItem(olMailItem)
        Set RedemptionMsg = New Redemption.SafeMailItem
        RedemptionMsg.Item = OutlookMsg
     
        'Destinataires
        Dest = Split(AdrDestinataires, Sep)
        NbDest = UBound(Dest)
        For iDest = 0 To NbDest
            RedemptionMsg.Recipients.Add Dest(iDest)
        Next
     
        'Pièces Jointes
        PJointes = Split(PJ, Sep)
        NbPJ = UBound(PJointes)
        For iPJ = 0 To NbPJ
            RedemptionMsg.Attachments.Add PJointes(iPJ)
        Next
     
        RedemptionMsg.Subject = Objet
        RedemptionMsg.Body = Msg
        RedemptionMsg.Send
     
        NameSpace.Logoff
     
        Set OutlookMsg = Nothing
        Set RedemptionMsg = Nothing
        Set objOutlook = Nothing
    End Sub

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    salut,

    tu peux essayer ce code.
    Il sert aussi pour joindre un fichier :

    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
     
    Sub cdo()
     
    Dim oCDO
     
    Dim Fichier As Variant
     
        ChDir "C:\ "
        Fichier = Application.GetOpenFilename("Fichiers PDF (*.pdf), *.pdf")
     
    Set oCDO = CreateObject("CDO.Message")
    With oCDO
    With .Configuration.Fields
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.ton frs.com"
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = "587"
     
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "ton nom d’utilisateur"
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "ton mot de passe"
     
    .Update
    End With
    .From = "ton mail"
    .To = "un mail"
    .Subject = "Essai de mail" & Now
    .TextBody = "Voici un petit message " & vbCrLf & "pour tester l'envoi de mail par CDO/VBScript"
    .AddAttachment Fichier
    .Send
    End With
     
    End Sub
    @+

    GREG

  11. #11
    Membre averti Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 455
    Points : 323
    Points
    323
    Par défaut
    salut tout le monde,

    Navré de vous annoncez ça mais aucun de ces codes ne marche


  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    salut,

    Pour mon code il faut que tu ajoute dans outil/Réference : Microsoft CDO for Exchange 2000 Library.

    Tu l'as fait ?

    GREG

  13. #13
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut
    Tu la trouves ou ? Moi je n'est que la référence pour Windows, pas pour Exchange !
    Citation Envoyé par greg06500 Voir le message
    salut,

    Pour mon code il faut que tu ajoute dans outil/Réference : Microsoft CDO for Exchange 2000 Library.

    Tu l'as fait ?

    GREG
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

  14. #14
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par Antichoc Voir le message
    Tu la trouves ou ? Moi je n'est que la référence pour Windows, pas pour Exchange !
    moi aussi, impossible de faire quoi que ce soit en CDO.
    Je passe par un serveur exchange (messagerie d'entreprise) et je veux eviter la bloquage (il faut cliquer sur yes) sans installer de logiciel annexe.

    La solution sans reference de la FAQ ne marche pas

    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
    Sub Envoi_CDO2()
    Dim CdoMessage As Object
     
     
        Set CdoMessage = CreateObject("CDO.Message")
        With CdoMessage
            .Subject = "Exemple"
            .From = "xxxxx@wanadoo.fr"
            .To = "yyyyy@orange.fr"
            .CC = ""
            .BCC = ""
            .TextBody = "Texte dans le corps de message"
            .Send
        End With
     
        Set CdoMessage = Nothing
    End Sub
    Sur .send ca met "The SendUsing configuration is invalid".

    Peut etre rajouter un serveur smtp mais je fais comment pour le trouver sur ma massagerie exchange d'entreprise (outlook 2003, win XP)?

  15. #15
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, voir post du 29/10/2007 de greg06500 sur la partie With .Configuration.Fields en l'adaptant à ton contexte

  16. #16
    Membre actif Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 18
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 276
    Points
    276
    Par défaut
    essaye de mettre ça :

    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
     
    Sub Envoi_CDO2()
    Dim CdoMessage As Object
     
     
        Set CdoMessage = CreateObject("CDO.Message")
        With CdoMessage
            .Subject = "Exemple"
            .From = "xxxxx@wanadoo.fr"
            .To = "yyyyy@orange.fr"
            .CC = ""
            .BCC = ""
            .TextBody = "Texte dans le corps de message"
    '        .Send
        End With
     
    CdoMessage.display
    SendKeys "^{ENTER}", True
     
     
    Set CdoMessage = Nothing
     
     
     
    End Sub
    80% des pannes informatiques se situent entre le clavier et la chaise...

    L'informatique ça vous énerve, prenez 5mns de détente ici


    =========== ===========

    Une fois que le problème à trouvé une solution n'oubliez pas le

  17. #17
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut
    Salut, est-il possible de parametrer un accusé de lecture avec RedemptionMsg ?
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

Discussions similaires

  1. [AC-2007] Envoyer un mail sans passer par Outlook
    Par m6riil dans le forum IHM
    Réponses: 5
    Dernier message: 02/05/2013, 20h31
  2. envoyer un mail sans passer par outlook
    Par tntneo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/04/2009, 17h06
  3. Word envoyé mail sans passer par Outlook
    Par greg778 dans le forum Word
    Réponses: 2
    Dernier message: 24/06/2008, 08h50
  4. [VBA] Envoi mail sans passer par outlook
    Par PoZZyX dans le forum Access
    Réponses: 8
    Dernier message: 12/04/2006, 16h27
  5. [VBA-A] Envoi de mail sans passer par Outlook ou autre.
    Par genius99 dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/02/2006, 07h50

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