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

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. Contributeur
    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. 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. 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. Contributeur
      il faut supprimer ceci qui est déclaré 2 fois

      Dim OutApp As Object
      0
  3. 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
    1. Contributeur
      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. Bonjour cs_Le Pivert, MERCI bcp pour ta générosité. Cela va tres certainement aider à résoudre mon probleme. je vous reviens.
        0