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 :

CreateObject("CDO.Message")


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 18
    Points
    18
    Par défaut CreateObject("CDO.Message")
    Bonjour,

    Je cherche à envoyer un mail via la référence "CDO.CONFIGURATION" et "CreateObject("CDO.Message")"
    J'ai récupéré plusieurs exemples sur le net et à chaque fois j'ai le même message d'erreur quand j'exécute l'instruction :
    .From = "senderName"

    Le messages est :
    "Erreur d'exécution '-2146644475 (800cce05)':
    "La partie demandée n' pas été trouvée dans ce message"

    Quelque soit le paramètrage que j'affecte, j'ai toujours ce message d'erreur
    J'ai pourtant bien activé la réf. "Microsoft CDO for windows 2000 library" mais rien n'y fait

    Je suis sous pack office 2010 et windows 8.1 pro
    Merci de votre aide
    YB


    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
    Sub essai_envoi_mail()
    '
    Dim MsSchm$, Cd0Conf As Object, CdoMsg As Object
    MsSchm$ = "http://schemas.microsoft.com/cdo/configuration/"
    Set Cd0Conf = CreateObject("CDO.Configuration")
    With Cd0Conf.Fields
    .Item(MsSchm$ & "smtpauthenticate") = 1
    .Item(MsSchm$ & "smtpusessl") = True
    .Item(MsSchm$ & "smtpserver") = "smtp.gmail.com"
    .Item(MsSchm$ & "sendusername") = "senderName@gmail.com"
    .Item(MsSchm$ & "sendpassword") = "senderPassword"
    .Item(MsSchm$ & "smtpserverport") = 465
    .Item(MsSchm$ & "sendusing") = 2
    .Item(MsSchm$ & "connectiontimeout") = 100
    .Update
    End With
    Set CdoMsg = CreateObject("CDO.Message")
    With CdoMsg
    Set .Configuration = Cd0Conf
    .From = "senderName"
    .To = "recipient@yahoo.com"
    .Subject = "This Test"
    .TextBody = "Testing"
    .Send
    End With
    End Sub

  2. #2
    Invité
    Invité(e)
    Dernière modification par Invité ; 18/10/2014 à 11h54.

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    Bonjour

    en faisant des recherche tu aurais trouver un paquet d'exemples
    regarde dans ma signature
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 18
    Points
    18
    Par défaut Tjrs le meme problème
    Bonjour,

    J'a toujours mon pb d'utilisation de CDO via le pack office 2010.
    En fait, à priori, la bibliothèque CDO n'est plus livrée avec le pack office 2010.

    Y aurai-t-il une solution de contournement ?

    Merci d'avance

  5. #5
    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, jette un œil ici ? Si tu es en Late Binding tu n'as pas à cocher de référence CDO.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut Re
    Bonjour
    Kiki a repondu pour moi
    Quand a la presrnce ou non de cette librairie fans 2010 je suis certain qu'elle y est alors en effet selon les vetsion office elle est un peu diffetente donc si ta variable pour le cdo est en early binding tu peu avoir des soucis donc le late binding est de rigueur dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim monmail as object
    Set monmail=createobject(...........
    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par ybezier Voir le message
    Bonjour,

    En fait, à priori, la bibliothèque CDO n'est plus livrée avec le pack office 2010.


    Merci d'avance
    Mais si elle est toujours là, du moins chez-moi (Win 7 Office 2010)

    Dans les références c'est : Microsoft CDO for Exchange 2000 Library

    Chemin d'accès : C:\windows\System32\cdosys.dll
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    en utilisant CreateObject in n'y a pas de problme!
    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
    91
    92
    Sub test()
    Dim Html As String
    Html = "<table border='1' cellspacing='0'>" & BodYHtml(Selection) & "</Table>"
    Serveur = "smtp.googlemail.com"
    Identify = True
    User = "user"
    PassWord = 1234
    Port = 465
    Delay = 10
    Expediteur = "Moi@gmail.com"
    Dest = "toi@gmai.com"
    DestEnCopy = "lesautre@gmail.com"
    Objet = "Suivi des modifications."
    msg = "Voici le tableau sélectionné<br>"
    Body = msg & Html
    Pj = ""
     MailEnvoi Serveur, Identify, User, PassWord, Port, Delay, Expediteur, Dest, DestEnCopy, Objet, Body, Pj
    End Sub
    Function BodYHtml(R)
    Dim C As Long
    Dim L As Long
    For L = 1 To R.Rows.Count
        BodYHtml = BodYHtml & "<TR>" & vbCrLf
            For C = 1 To R.Columns.Count
                BodYHtml = BodYHtml & "<TD >&nbsp" & R(L, C) & "</TD>" & vbCrLf
            Next
        BodYHtml = BodYHtml & "</TR>" & vbCrLf
    Next
    End Function
    Public Sub MailEnvoi(Serveur, Identify, User, PassWord, Port, Delay, Expediteur, Dest, DestEnCopy, Objet, Body, Pj)
    ' sub pour envoyer les mails
    Dim msg
    Dim Conf
    Dim Config
    Dim ess
    Dim splitPj
    Dim IsplitPj
    Set msg = CreateObject("CDO.Message") 'pour la configuration du message
    Set Conf = CreateObject("CDO.Configuration") '  pour la configuration de l'envoi
    Dim strHTML
     
    Set Config = Conf.Fields
     
    ' Configuration des parametres d'envoi
    '(SMTP - Identification - SSL - Password - Nom Utilisateur - Adresse messagerie)
    With Config
    If Identify = True Then
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = User
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = PassWord
    End If
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Serveur
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = Delay
        .Update
     
    End With
     
     
    'Configuration du message
    'If E_mail.Sign.Value = Checked Then Convert ServeurFrm.SignTXT, ServeurFrm.Text1
     
    With msg
        Set .Configuration = Conf
        .To = Dest
      .cc = DestEnCopy
        .FROM = Expediteur
        .Subject = Objet
    '
     
        .HTMLBody = Body '"<p align=""center""><font face=""Verdana"" size=""1"" color=""#9224FF""><b><br><font face=""Comic Sans MS"" size=""5"" color=""#FF0000""></b><i>" & body & "</i></font> " 'E_mail.ZThtml.Text
                If Pj <> "" Then
            splitPj = Split(Pj & ";", ";")
     
            For IsplitPj = 0 To UBound(splitPj)
                If Trim("" & splitPj(IsplitPj)) <> "" Then
                    .AddAttachment Trim("" & splitPj(IsplitPj))
                End If
            Next
     
        End If
        .Send 'envoi du message
     
    End With
    ' reinitialisation des variables
    Set msg = Nothing
    Set Conf = Nothing
    Set Config = Nothing
     
    End Sub

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2009, 11h15
  2. Envoi de mail grace a l'objet CDO.Message
    Par vinze11 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 08h23

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