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

Access Discussion :

automatisation du chargement d'un fichier Excel dans une BD Access [Sources]


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut automatisation du chargement d'un fichier Excel dans une BD Access
    Bonjour,

    Je reçois des fichiers Excel en pièces jointes, dans ma messagerie Outlook Express de façon aléatoire. Ces fichiers doivent être chargés dans une base Access dans un délai très court.
    Est-il possible de saugarder ces fichiers Excel dans un répertoire dédié de mon disque dur, sans mon intervention, donc automatiquement?
    En ce qui concerne le chargement de ces fichiers Excel, du répertoire dédié, dans la base ne me pose pas de problème.
    Je remercie par avance ceux qui auront la gentillesse de se pencher sur mon problème.

    Bobymob.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    oui, c'est possible !

    Il faut ajouter la référence Microsoft Outlook X.0 Object Library

    et adapter ce code

    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
    Sub GetXLFilesFromOutlook()
        Dim oOutlk As Outlook.Application
        Dim oInbox As Object, oMapi As Object
        Dim mail As Object
        Dim PieceJointe As Object
        Dim PJindex As Integer
     
        Set oOutlk = New Outlook.Application
        Set oMapi = oOutlk.GetNamespace("MAPI")
     
        ' répertoire Inbox
        Set oInbox = oMapi.GetDefaultFolder(olFolderInbox)
        ' boucle sur chaque mail
        For Each mail In oInbox.Items
            ' teste la présence de pièce jointe
            If mail.Attachments.count > 0 Then
                Debug.Print mail.SenderName, mail.Subject, mail.Attachments.count
                For PJindex = 1 To mail.Attachments.count
                    Set PieceJointe = mail.Attachments.Item(PJindex)
                    ' récupère les fichiers Excel
                    If PieceJointe.FileName Like "*.xls" Then
                        PieceJointe.SaveAsFile "C:\Temp\PJOutLk" & PieceJointe.FileName
     
                        ' met ton code d'importation ici
                        ' Exemple
                         'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "UneTable", _
                                                   "C:\Temp\PJOutLk" & PieceJointe.FileName
                        Debug.Print "Importation de " & PieceJointe.FileName
                    End If
                Next PJindex
            End If
            DoEvents
        Next mail
        Set PieceJointe = Nothing
        Set mail = Nothing
        Set oInbox = Nothing
        Set oOutlk = Nothing
        Set oMapi = Nothing
    End Sub
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 14
    Points : 13
    Points
    13
    Par défaut demande de complement
    bonjour la procedure sub je la met ou pour pouvoir justemnt faire cela car la procedure m'interesse beaucoup pour d'autre application egalement
    merci d'avance

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    il suffit de la mettre dans un module de code, et de l'adapter à son application.
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



Discussions similaires

  1. Réponses: 3
    Dernier message: 20/04/2010, 09h31
  2. Transfert Fichier excel dans une table ACCESS
    Par Remsdu dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/07/2008, 15h55
  3. Importation d'un fichier excel dans une table access
    Par cmaitre dans le forum VBA Access
    Réponses: 11
    Dernier message: 15/04/2008, 16h59
  4. Réponses: 6
    Dernier message: 08/12/2006, 13h07
  5. Réponses: 7
    Dernier message: 04/10/2005, 18h21

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