Type d'utilisateur non défini

Bonjour à tous,

J'ai un soucis sur le fichier joint : J'ai affecté une macro qui doit créer un rendez-vous dans outlook à 2 boutons ("Envoi rappel" et "Créer rappel 24h" )

Quand je clique dessus, il me renvoi l'erreur : Erreur de compilation : type défini par l'utilisateur non défini.

Ce code fonctionne très bien dans un autre fichier identique.

Quelqu'un peut me dire comment résoudre cela svp ?

D'avance merci beaucoup

231-base-3.xlsm (49.13 Ko)

Eric

Bonjour Eric111

Quand vous avez une erreur, il est bien de faire une capture d'écran et de la déposer ici

Quand je vois ça, je me dis normal

image

A+

Merci à toi Bruno,

Je ne comprends pas, peux tu m'expliquer...

D'avance merci !

Eric

Re,

Quand on utilise ce code

Dim olApp As Outlook.Application

C'est qu'on fait du Early binding, il faut donc cocher la référence Microsoft

image

Quand on utilise celui-ci

    Dim oOutlook As Object
    Set oOutlook = CreateObject("Outlook.Application")

On fait du Late binding, pas besoin de cocher quoique ce soit

Vous avez 2 codes de type différents dans le même classeur, ce n'est absolument pas logique

J'espère que ce sera plus clair

Ah OK !

Super, j'ai pigé!

Merci pour ces informations ! J'ai compris :)

Merci, trop cool Bruno ;)

Encore moi Bruno !

Je 'ai tenté des modification mais invariablement, l'erreur revient...

Quand je change le code de façon à faire du Early ou du Late mais je ne corrige pas le problème

Ce qui m'étonne , c'est que le code fonctionne dans d'autre fichier mais pas dans celui-ci...

Ci-joint le fichier

Encore merci d'avance !

27modele.xlsm (207.05 Ko)

Re,

Il faudrait peut-être nous en dire plus, comment pouvons-nous reproduire l'erreur !?

Ceci dit, le code n'est pas bon, le voici corrigé

Sub envoyerParMail()
  Dim oOut As Object
  Dim oMail As Object
  Dim oWord As Object
  ' Créer une instance Outlook (Late Binding)
  Set oOut = CreateObject("Outlook.Application")
  ' Créer une instance de mail
  Set oMail = oOut.CreateItem(0)
  With oMail
    .Display  ' Afficher l'eMail pour utiliser l'inspecteur
    Set oWord = .GetInspector.WordEditor
    .To = "@notaires.fr"
    .Subject = "RECAP_HEBDO" & Range("O1").Value & Range("E8").Value & Range("ap9").Value & Range("C4").Value
    Range("C8:M1109").Copy
    oWord.Range().Paste
  End With
  Set oWord = Nothing: Set oMail = Nothing: Set oOut = Nothing
End Sub

A+

Bonsoir Bruno,

Merci pour ton aide, j'en prend bonne note,

De mon côté j'ai trouvé un truc qui fonctionne ,mais je pense que vais utiliser ton code.

Merci pour toutes les informations communiquées, c'est super cool de ta part ;)

Un grand merci ;)

Rechercher des sujets similaires à "type utilisateur defini"