Run-time error '429': ActiveX... can't create objt

Aloubedi Messages postés 47 Statut Membre -  
Aloubedi Messages postés 47 Statut Membre -
Bonjour/bonsoir,

Run-time error '429': ActiveX component can't create object

Le code vba ci-dessous se trouve derriere un bouton de userform. le probleme est qu'il conduit au message d'erreur ci-dessus. Le debug indique que le probleme ce trouve dans la ligne de code en gras.
Merci de m'aider sur ce point.

Sub envoimail()
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")

Set OutMail = OutApp.createItem(0)
On Error Resume Next

With OutMail
.To = "Adrsmail1"
.CC = "Adrsmail2"
.Subject = "Objet1"
.Body = "ligne1" & _
vbLf & "ligne 2" & _
.Send
End With

End Sub

4 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    allez dans Outils- Références et cochez bibliothèque d'objets Microsoft Outlook

    et mettre ceci à la place:

    Dim OutApp As New Outlook.Application
    


    1
    1. Aloubedi Messages postés 47 Statut Membre
       
      Merci bcp. j'ai suivi vos conseils et j'ai remplace Set OutApp = CreateObject("Outlook.Application") par Dim OutApp As New Outlook.Application
      Mais un autre message d'erreur: Compile error: Duplicate declaration in current scope

      merci
      0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Voilà un exemple

    Option Explicit
    'https://forum.excel-pratique.com/viewtopic.php?t=29003
    'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
    ' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
    Sub Envoyer_Mail_Outlook()
    Dim ObjOutlook As New Outlook.Application
    Dim oBjMail
    Dim Nom_Fichier As String
       
        Set ObjOutlook = New Outlook.Application
        Set oBjMail = ObjOutlook.CreateItem(olMailItem)
        
    '---------------------------------------------------------
        'Exemple pour envoyer un classeur en pièce jointe
        'Nom_Fichier = Application.GetOpenFilename("Fichier excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
        'If Nom_Fichier = "Faux" Then Exit Sub
    '---------------------------------------------------------
        'Ou bien entrer le path et nom du fichier autrement
        Nom_Fichier = "C:\Users\chemin fichier excel"
        If Nom_Fichier = "" Then Exit Sub
    '---------------------------------------------------------
    'Application.ScreenUpdating = False
          With oBjMail
            .To = "adresse@free.fr" ' le destinataire
            .Subject = "Ici c'est l'objet"          ' l'objet du mail
            .Body = "Ici le texte du mail "  'le corps du mail ..son contenu
            .Attachments.Add Nom_Fichier '"C:\Data\essai.txt" ' ou Nomfichier
            '.Display  '   Ici on peut supprimer pour l'envoyer sans vérification
            .Send
        End With
        ObjOutlook.Quit
        Set oBjMail = Nothing
        Set ObjOutlook = Nothing
       ' Application.ScreenUpdating = True
    End Sub


    et si tu veux envoyer une image dans le corps du message voir cela:

    https://codes-sources.commentcamarche.net/forum/affich-10086698-signature-outlook-dans-macro-excel#12

    1
    1. Aloubedi Messages postés 47 Statut Membre
       
      Bonjour cs_Le Pivert, MERCI bcp pour ta générosité. Cela va tres certainement aider à résoudre mon probleme. je vous reviens.
      0
  3. Aloubedi Messages postés 47 Statut Membre
     
    Merci bcp . j'ai suivi vos conseils et j'ai remplace Set OutApp = CreateObject("Outlook.Application") par Dim OutApp As New Outlook.Application
    Mais un autre message d'erreur: Compile error: Duplicate declaration in current scope

    merci
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      il faut supprimer ceci qui est déclaré 2 fois

      Dim OutApp As Object
      0
  4. Aloubedi Messages postés 47 Statut Membre
     
    Run-time error '429': ActiveX component can't create object

    On retrouve le premier msg d'errur cette fois sur OutMail (la partie en gras)

    Private Sub CommandButton7_Click()
    Dim outapp As New Outlook.Application
    Dim OutMail As Object

    Set OutMail = outapp.CreateItem(0)

    Merci bcp pour vos reactions. je reste a l'ecoute
    0