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 :

Impossible d'importer tous les fichiers excel xls dans ma base [AC-2007]


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 69
    Points
    69
    Par défaut Impossible d'importer tous les fichiers excel xls dans ma base
    Bonjour les experts,
    je pense avoir fait une erreur , je souhaite importer tous les fichiers excel (xls) du lecteur E dans ma base access , ce qui génèrent plusieurs tables et , je voudrai également (si possible ) garder le nom du fichier excel dans la table access . nom fichier excel X = même nom de la table Access X.
    Merci pour votre aide. cordialement

    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
    Function ImporteDbl1()
     
    Dim NomFich As String
    Dim NomTbl As String
     
     
    NomFich = Dir("E:*.xls")
     
     ' tranferer tous les fichiers xls.
     
    Do While NomFich <> ""
     
    DoCmd.TransferDatabase acImport, "dBase IV", "E:\", , NomFich, False, False
     
     
    NomFich = Dir
    Loop
     
    End Function

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Par exemple comme ceci

    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
    Option Compare Database
    Option Explicit
     
    Public Sub ImportXLS(Repertoire As String)
        On Error GoTo GestionErreurs
        Dim FSO As Scripting.FileSystemObject
        Dim sRep As Scripting.Folder
        Dim sFichier As Scripting.File
        Set FSO = New Scripting.FileSystemObject
        Set sRep = FSO.GetFolder(Repertoire)
        'Boucle sur les fichiers
        For Each sFichier In sRep.Files
          'Importer
          If Right(sFichier, 4) = ".xls" Then
              DoCmd.TransferSpreadsheet acImport, , Left(sFichier.Name, Len(sFichier.Name) - 4), sFichier.Path, True
          End If
        Next sFichier
     
        'Libérer
        Set sRep = Nothing
        Set FSO = Nothing
        Exit Sub
    GestionErreurs:
        Select Case Err.Number
          Case 76
             MsgBox "Le répertoire " & Repertoire & " est absent !", vbCritical
          Case Else
            MsgBox "Erreur N° " & Err.Number & " " & Err.Description & vbLf _
                      & "dans ImportCSV().", vbCritical
        End Select
     
    End Sub

    N.B. Il faut ajouter le bibliothèque Microsoft Scripting Runtime à ton projet

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 69
    Points
    69
    Par défaut Impossible d'importer les fichier
    Bonjour claude

    Merci de m'avoir répondu.
    je m'attendais de recevoir une réponse avec une Fonction (et non une sub).
    J'ai essayé d'importer mes fichiers excel ... je n'y arrive pas . Merci pour ton aide


    j'ai passé du temps et du temps et impossible ( l'avantage , c'est que j'ai appris plein de choses )


    j'ai du faire une bêtise mais où ?


    J'attends vos idées

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,


    J'ai essayé d'importer mes fichiers excel ... je n'y arrive pas .
    Quel message d'erreur ?

    Je viens de retester ma proposition, chez moi, ça marche.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 69
    Points
    69
    Par défaut Impossible d'importer tous les fichiers excel xls dans ma base
    bonjour

    Merci claude pour ta réponse . voici la réponse d'erreur que je reçois lorsque je veux exécuter le code.
    La Croix Rouge ... le répertoire C\Mes documents\ est absent . J'ai bien sur créer Mes documents dans C et mis des dossiers Excel .


    Il faut dire que j'utilise la version Access 2003 chez moi pour développer et Access 2010 au boulot.


    Il me manque Microsoft Access 9 objet lib ( mais j'ai le 10)


    Encore Merci pour votre aide

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Es-tu sûr que tu écris correctement le nom du répertoire ?
    (Évite les noms de dossiers avec des espaces et caractères spéciaux).

    Il n'y a aucune raison que ce code ne fonctionne pas chez toi.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    Salut


    Vrai , j'ai changé le nom dans C ... mis eric (puis les fichiers xls) et là il me met un autre message. Call ImportXLS("C:\eric\XLS")

    Erreur de compilation
    Nom ambigu detecté ImportXLS


    Aurais je fait une erreur dans le code en le copiant ?

    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
    Option Compare Database
    Option Explicit
     
    Public Sub ImportXLS(Repertoire As String)
        On Error GoTo GestionErreurs
        Dim FSO As Scripting.FileSystemObject
        Dim sRep As Scripting.Folder
        Dim sFichier As Scripting.File
        Set FSO = New Scripting.FileSystemObject
        Set sRep = FSO.GetFolder(Repertoire)
        'Boucle sur les fichiers
        For Each sFichier In sRep.Files
          'Importer
          If Right(sFichier, 4) = ".xls" Then
              DoCmd.TransferSpreadsheet acImport, , Left(sFichier.Name, Len(sFichier.Name) - 4), sFichier.Path, True
          End If
        Next sFichier
     
        'Libérer
        Set sRep = Nothing
        Set FSO = Nothing
        Exit Sub
    GestionErreurs:
        Select Case Err.Number
          Case 76
             MsgBox "Le répertoire " & Repertoire & " est absent !", vbCritical
          Case Else
            MsgBox "Erreur N° " & Err.Number & " " & Err.Description & vbLf _
                      & "dans ImportCSV().", vbCritical
        End Select
     
    End Sub

    Merci encore

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Nom ambigu detecté ImportXLS
    Access te dit que tu as, dans le code, deux fois une sub ImportXLS()
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Access te dit que tu as, dans le code, deux fois une sub ImportXLS()

    Je sens que je suis pas loin de trouver .... bon , je vais passer une bonne partie de la nuit à chercher .
    C'est comme ça qu'on apprend

    Merci

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Procède comme ceci :

    - <Alt+F11> pour accéder à l'éditeur de code ;
    - dans la barre des outils, clique sur les jumelles ;
    - et cherche ImportXLS

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    bonjour claude ,

    je constate que toutes les semaines , j'ai un nouveau fichier excel (même structure) ... donc , je me dis . y a t il pas un code VBA ( une boucle) pour balayer le répertoire avec fichiers xls et créer des tables Access pour chaque dossiers ?

    Encore Merci.

  12. #12
    Membre du Club
    Homme Profil pro
    Employé
    Inscrit en
    Juillet 2012
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Employé
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 86
    Points : 69
    Points
    69
    Par défaut
    bonjour Claude

    tu avais raison sur tout le ligne . Le code est parfait et fonctionne vraiment bien
    Je me suis penché sur le nom du répertoire qui était trop " erreur " de ma part.

    Encore Merci pour ton aide.

    Bravo

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

Discussions similaires

  1. [XL-2010] Ouvrir tous les fichiers excel sous une arborescence avec multiple repertoires
    Par Lionel_koch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/03/2015, 00h39
  2. Réponses: 19
    Dernier message: 25/01/2013, 18h57
  3. Réponses: 170
    Dernier message: 12/08/2009, 08h56
  4. Réponses: 1
    Dernier message: 21/05/2009, 12h38
  5. copier tous les fichiers sans extension dans un meme repertoire
    Par soussou80 dans le forum Administration système
    Réponses: 1
    Dernier message: 26/03/2009, 13h02

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