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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Value Management Analyst
    Inscrit en
    juillet 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Value Management Analyst

    Informations forums :
    Inscription : juillet 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Récupérer le Parent.name de fichiers Excel via une commande VBA
    Bonjour à tous,

    C'est une grande première pour moi.
    Niveau Zéro en programmation mais j'ai décidé de me lancer avec votre aide.



    Dans le cadre d'un petit projet personnel, j'aurais aimé trouver le moyen via un code VBA dans Access d'importer certaines données dans une série de fichiers Excel dans un folder donnée.

    Ensuite, la partie qui me pose le plus de problème c'est de pouvoir lier ces données à leur fichier Excel d'origine.

    Ex :

    1°)Dans un folder, 3 fichiers Excel.

    Excel 1, Excel 2, Excel 3

    2°) Dans chacun d'entre eux, une seul TAB qu'on appellerait "Calls" pour l'exemple.

    3°) Admettons que dans la Col A de cette TAb "Calls" nous donne une série de nums de tel.


    ==> J'aimerais voir dans Access, 2 colonnes :

    Col 1


    Excel 1
    Excel 2
    Excel 2
    Excel 2
    Excel 3
    Excel 3


    Col 2


    Num 1
    Num 2
    Num 3
    Num 4
    Num 5
    Num 6
    Num 7



    D'avance Merci pour votre aide,
    Sayf

  2. #2
    Membre émérite Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    1 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 1 729
    Points : 2 655
    Points
    2 655
    Par défaut
    Salut
    Une solution
    Copier la fonction ci-dessous dans un module standard d'Acc (Alt F11)
    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
    Function ImportDonnéesXL()
    Dim fDialog As Office.FileDialog
    Dim strChemin As Variant, strNomfichier As String, strNomfichier1 As String
    Dim strSql As String
     
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
    With fDialog
        .AllowMultiSelect = True
        .Title = "Choisir les fichiers à importer"
        .Filters.Clear
        .Filters.Add "Fichiers Excel", "*.xlsx, *.xls"
     
    If .Show = True Then
        'on boucle sur la sélection de fichiers Excel
        For Each strChemin In .SelectedItems
            'on récupère le nom du fichier avec son extension
            strNomfichier = Dir(strChemin)
            'on récupère le nom du fichier sans extension
            strNomfichier1 = Left(strNomfichier, InStrRev(strNomfichier, ".xls") - 1)
            'on utilise la méthode ci-dessous pour importer les données Excel
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tblImportExcel", strChemin, True
            'on exécute une requête de mise à jour pour associer NumTel avec NomFichier
            'si extension placer strNomfichier, sans extension placer strNomfichier1
     
     
     
        Next
    Else
        MsgBox "Importation annulée"
    End If
    End With
    End Function
    Dans un form avec un btn de commande, placer sur l'évènement surClick(). Modifier Commande4 selon ton interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande4_Click()
    Call ImportDonnéesXL
    End Sub
    L24/25 tblImportExcel = nom de la table et NomClasseur = nom de champ de la tbl qui reçoit le nom de fichier
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse est pertinente. N'oubliez pas svp de clôturer le sujet en cliquant sur

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/12/2012, 09h47
  2. Réponses: 8
    Dernier message: 18/01/2012, 14h16
  3. [XL-2003] Envoyer le fichier Excel via une requête post
    Par totoen dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/10/2010, 08h19
  4. Réponses: 45
    Dernier message: 14/02/2008, 15h41

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