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

VBA Access Discussion :

Problème : Compile error : Method or data member not found


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Par défaut Problème : Compile error : Method or data member not found
    Bonjour à tous,

    Je suis débutant en programmation VBA et j'ai un petit problème avec un programme.
    En fait j'ai testé ce probgramme sur Excel et il fonctionne très bien (il faut juste mettre la référence Microsoft Outlook library.
    Mais il faudrait que je puisse le faire fonctionner avec VBA mais sous Access, le porblème est que j'ai l'erreur : "Compile error : Method or data member not found" qui apparait sur une ligne de code indiquée en rouge dans le programme suivant :

    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
    93
    94
    95
    96
    97
    98
    Sub Test()
    'Arg 1 = Folder name in your Inbox
    'Arg 2 = File extension, "" is every file
    'Arg 3 = Save folder, "C:\Users\Ron\test" or ""
    'If you use "" it will create a date/time stamped
    'folder for you in the "My Documents" folder.
    'Note: If you use this "C:\Users\Ron\test" the folder must exist
    
        SaveEmailAttachmentsToFolder "MyFolder", "xls", ""
    
    End Sub
    
    
    
    Sub SaveEmailAttachmentsToFolder(OutlookFolderInInbox As String, _
                                     ExtString As String, DestFolder As String)
        Dim ns As Namespace
        Dim Inbox As MAPIFolder
        Dim SubFolder As MAPIFolder
        Dim Item As Object
        Dim Atmt As Attachment
        Dim FileName As String
        Dim MyDocPath As String
        Dim I As Integer
        Dim wsh As Object
        Dim fs As Object
    
        On Error GoTo ThisMacro_err
    
        Set ns = GetNamespace("MAPI")
        Set Inbox = ns.GetDefaultFolder(olFolderInbox)
        Set SubFolder = Inbox.Folders(OutlookFolderInInbox)
    
        I = 0
        ' Check subfolder for messages and exit of none found
        If SubFolder.Items.Count = 0 Then
            MsgBox "There are no messages in this folder : " & OutlookFolderInInbox, _
                   vbInformation, "Nothing Found"
            Set SubFolder = Nothing
            Set Inbox = Nothing
            Set ns = Nothing
            Exit Sub
        End If
    
        'Create DestFolder if DestFolder = ""
        If DestFolder = "" Then
            Set wsh = CreateObject("WScript.Shell")
            Set fs = CreateObject("Scripting.FileSystemObject")
            MyDocPath = wsh.SpecialFolders.Item("mydocuments")
            DestFolder = MyDocPath & "\" & Format(Now, "dd-mmm-yyyy hh-mm-ss")
            If Not fs.FolderExists(DestFolder) Then
                fs.CreateFolder DestFolder
            End If
        End If
    
        If Right(DestFolder, 1) <> "\" Then
            DestFolder = DestFolder & "\"
        End If
    
        ' Check each message for attachments and extensions
        For Each Item In SubFolder.Items
            For Each Atmt In Item.Attachments
                If LCase(Right(Atmt.FileName, Len(ExtString))) = LCase(ExtString) Then
                    FileName = DestFolder & Item.SenderName & " " & Atmt.FileName
                    Atmt.SaveAsFile FileName
                    I = I + 1
                End If
            Next Atmt
        Next Item
    
        ' Show this message when Finished
        If I > 0 Then
            MsgBox "You can find the files here : " _
                 & DestFolder, vbInformation, "Finished!"
        Else
            MsgBox "No attached files in your mail.", vbInformation, "Finished!"
        End If
    
        ' Clear memory
    ThisMacro_exit:
        Set SubFolder = Nothing
        Set Inbox = Nothing
        Set ns = Nothing
        Set fs = Nothing
        Set wsh = Nothing
        Exit Sub
    
        ' Error information
    ThisMacro_err:
        MsgBox "An unexpected error has occurred." _
             & vbCrLf & "Please note and report the following information." _
             & vbCrLf & "Macro Name: SaveEmailAttachmentsToFolder" _
             & vbCrLf & "Error Number: " & Err.Number _
             & vbCrLf & "Error Description: " & Err.Description _
             , vbCritical, "Error!"
        Resume ThisMacro_exit
    
    End Sub
    Ce programme permet d'enregistrer des pièces jointes d'un email d'un folder automatiquement.

    Quelqu'un aurait une idée de comment résoudre mon problème?

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    As-tu mis une référence sur Outlook (et si oui la même qu'en Excel) dans Access ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Par défaut
    Oui, j'ai mis la même référence que dans excel : Microsoft Outlook 12.0 Object Library.
    N'importe qui peut l'essayer je pense, elle fera la même erreur.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Essaye de mettre la ligne en commentaire et de recompiler le code. Dés fois l'erreur signalée n'est la source réelle du problème.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Par défaut
    Hey,

    J'ai mis la ligne en commentaire comme tu me l'as demandé j'obtiens une erreur du type :

    An unexpected error has occured
    Please note and report the following information.
    Macro Name : SaveEmailAttachmentsToFolder
    Error Number : 13
    Error description : Type mismatch

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Attention, il ne faut pas exécuter le code mais il faut simplement le compliler (menu debogage/complier) pour voir si une autre erreur ne serait pas la cause du problème. .

    Si le compliateur ne dit rien alors c'est que c'est bien cette ligne qui est en erreur et je n'en vois pas la cause.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Method or data member not found
    Par persephone_core dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/07/2013, 08h10
  2. problème compilation Error #1009
    Par matt7575 dans le forum MXML
    Réponses: 1
    Dernier message: 01/02/2010, 11h08
  3. Compile error : Method or data member not found
    Par Loki83 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 13/10/2008, 18h31
  4. HTTP Error 404 - File or Directory not found
    Par kince dans le forum IIS
    Réponses: 0
    Dernier message: 17/09/2007, 16h59
  5. Jabber error: OpenSSL >= 0.9.6b not found
    Par trattos dans le forum Réseau
    Réponses: 8
    Dernier message: 23/05/2006, 15h28

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