Pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter, inscrivez-vous gratuitement !

 

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    octobre 2006
    Messages
    651
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2006
    Messages : 651
    Points : 1 105
    Points
    1 105

    Par défaut Un composant activeX ne peut pas créer un objet

    Bonjour,

    Je viens d'installer OUTLOOK 2007 pour automatiser l'envoi de mail pour mon association 1901, j'ai installé la reférence "Outlook 12.0 Object Library"

    Nom : faststone00432.jpg
Affichages : 5676
Taille : 24,1 Ko

    j'ai recopié de l' aide DVP ce début de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub CreationMailEtLienHypertexte()
        Dim OlApp As Outlook.Application
        Dim OlItem As Outlook.MailItem
        'Nécessite d'activer la référence "Microsoft Outlook xx.x Object Library"
     
        Set OlApp = New Outlook.Application
        Set OlItem = OlApp.CreateItem(olMailItem)
    En pas à pas le message "un composant activeX ne peut pas créer un objet..." s'arrête sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set OlApp = New Outlook.Application
    Que faire ?

    D'avance, Merci
    Michel_M

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    septembre 2011
    Messages
    8 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : septembre 2011
    Messages : 8 116
    Points : 14 207
    Points
    14 207

    Par défaut

    Bonjour,

    Ton code fonctionne avec Office 2013 (en changeant la référence). Si tu as fait un copier / coller, essaie d'entrer en les refrappant les lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim OlApp As New Outlook.Application
    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set OlApp = New Outlook.Application
    Sinon, remplace cette ligne par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set OlApp = CreateObject("Outlook.Application")
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    octobre 2006
    Messages
    651
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2006
    Messages : 651
    Points : 1 105
    Points
    1 105

    Par défaut

    Toujours pareil !

    J'ai m^me réecris le début de la procédure sur un nouveau classeur (2007)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub xxx()
    Dim Olapp As Object
     
    Set Olapp = CreateObject("outlook.application")
    End Sub
    je vais essayer de passer en CDO mais...

    Merci pour tout
    Michel_M

  4. #4
    Expert éminent sénior
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2012
    Messages
    9 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2012
    Messages : 9 404
    Points : 16 032
    Points
    16 032
    Billets dans le blog
    1

    Par défaut

    Bonjour,
    supprime ta référence à Outlook tu n'en as pas besoin avec CreateObject!
    Code Outlook : 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
    Sub Test()
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopy:="DestinataireCopy.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopy:="DestinataireCopy.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com"
    End Sub
    Sub Mail(Sujet As String, Message As String, Destinataire As String, Optional DestinataireCopy As String, Optional DestinataireCopyCacher As String, Optional Pj As String = "")
    Set objOutlook = CreateObject("Outlook.application")
    Set MailObj = objOutlook.CreateItem(olMailItem)
    With MailObj
        .To = Destinataire
        .CC = DestinataireCopy
        .BCC = DestinataireCopyCacher
        .Subject = Sujet
        .BodyFormat = 2
        .HTMLBody = Message
        If Trim("" & Pj) <> "" Then
            p = Split(Pj & ";", ";")
            For i = 0 To UBound(p)
                If Trim("" & p(i)) <> "" Then .Attachments.Add Trim("" & p(i))
            Next
        End If
        '.Display 'Can be .Send but prompts for user intervention before sending without 3rd party software like ClickYes
        .Send
    End With
    End Sub

    Code CDO : 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
    Sub test()
     MailEnvoi "smtp.googlemail.com", True, "My.Mail@gmail.com", "Pasw", 465, 10, "My.Mail@gmail.com", "Vous.Mail@gmail.com", "Copy@gmail.com", "Suivi des modifications.", "tel truc a été modifile", ""
    End Sub
    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
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    octobre 2006
    Messages
    651
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2006
    Messages : 651
    Points : 1 105
    Points
    1 105

    Par défaut

    Bonjour,

    Un grand merci pour ta solution en CDO!

    J'étais passé à autre chose, d'où mon retard, hier,j'avais presque réussi et le dernier obstacle était le passage en html pour éviter les symboles bizarres à la place des caractères accentués; maintenant c'est OK, ouf !

    Super
    Michel_M

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2008
    Messages : 150
    Points : 136
    Points
    136

    Par défaut

    pour ma part je passe par outlook car c'est sur une application professionelle sans acces a internet
    c'est juste une messagerie interne et oui pour les pieces jointe avec .attachments

  7. #7
    Expert éminent sénior
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2012
    Messages
    9 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2012
    Messages : 9 404
    Points : 16 032
    Points
    16 032
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par tyjez Voir le message
    pour ma part je passe par outlook car c'est sur une application professionelle sans acces a internet
    c'est juste une messagerie interne et oui pour les pieces jointe avec .attachments
    oui mais là je comprend pas ta remarque tu as les 2 version donc tu choisi!
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  8. #8
    Membre expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    août 2007
    Messages
    2 385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : août 2007
    Messages : 2 385
    Points : 3 159
    Points
    3 159

    Par défaut Avertissement

    Si vous utilisez comme moi le code CDO donné par rdurupt (Salut !) ou similaire, et que vous l'utilisez en boucle, vous pourriez faire face à un blocage total du code sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Send 'envoi du message
    à un moment donné de la boucle.

    Pour supprimer ce blocage, ajoutez
    après
    mais aussi après
    Bonne journée.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  9. #9
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : avril 2018
    Messages : 6
    Points : 2
    Points
    2

    Par défaut

    Bonjour,

    Après avoir essayé des envoies de mail par thunderbird qui fonctionne sauf pour des pièces jointes, j'ai tenté la méthode CDO.

    Sauf que ! "Le transport a échoué dans sa connexion au serveur"

    Voici le code que j'utilise :
    objEmail.From = "xxx@xxx.fr"
    objEmail.Subject = strSujetMail
    objEmail.TextBody = strContenuMail
    objEmail.To = "xxx@yahoo.fr"

    With objEmail.Configuration.Fields
    .Item(CdoConfiguration.cdoSendUsingMethod) = 2
    .Item(CdoConfiguration.cdoSMTPAuthenticate) = 1
    .Item(CdoConfiguration.cdoSendUserName) = "xxx"
    '.Item(CdoConfiguration.cdoSendPassword) = "xxx"
    .Item(CdoConfiguration.cdoSMTPServer) = "smtp.xxxx.fr"
    .Item(CdoConfiguration.cdoSMTPServerPort) = 465
    .Update
    End With
    objEmail.Send
    Je cherche des pistes de solutions.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message d'erreur: Un composant ActiveX ne peut pas créer un objet
    Par amnass dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/05/2009, 07h12
  2. [POO] Un composant ActiveX ne peut pas créer un objet
    Par *.Har(d)t dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/11/2008, 19h35
  3. [POO] un composant activex ne peut pas créer un objet
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/03/2008, 15h35
  4. [ADO] Error 429: Un composant activex ne peut pas créer un objet
    Par Pierre Fauconnier dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/05/2006, 06h09
  5. [VS2003] Un composant ActiveX ne peut pas créer un objet
    Par kendras dans le forum Framework .NET
    Réponses: 1
    Dernier message: 28/12/2005, 12h39

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