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

Macros et VBA Excel Discussion :

Récupération de données [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut Récupération de données
    Bonjour,

    J'aimerais réaliser un listing de mes fichiers Excel...

    Pour cela je dispose d'un fichier "mere" qui sert pour le listing et une flopée de fichiers "fille" qui seront listés.

    Dans mon fichier "mere" j'ai un tableau de 2 colonnes (A2:B1000), la première listant le nom des fichiers filles, de ce côté là ça marche.

    Je voudrais premièrement afficher le nom des fichers tout les 4 lignes (plutôt que toutes les lignes) puis dans un second temps que les données en E15, F36, A2 et 013 de chaques fichiers "fille" correspondant au nom de fichiers de la colonne 1 s'affichent dans ma 2eme colonne à coté.

    Un petit exemple pour aider à cerner :



    Ainsi que le code me permettant d'afficher le nom des fichiers :

    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
    Sub ListFilesInFolder(strFolderName As String, bIncludeSubfolders As Boolean)
     
    '----->> Activer la reference Microsoft Scripting RunTime si erreur ! <<-----
     
        Static FSO As FileSystemObject
        Dim oSourceFolder As Scripting.Folder
        Dim oSubFolder As Scripting.Folder
        Dim oFile As Scripting.File
        Static wksDest As Worksheet
        Static iRow As Long
        Static bNotFirstTime As Boolean
     
        [A2:B1000].ClearContents 
     
        iRow = 2
     
            If Not bNotFirstTime Then
            Set wksDest = ActiveSheet
            Set FSO = CreateObject("Scripting.FileSystemObject")
            bNotFirstTime = True
            End If
     
            Set oSourceFolder = FSO.GetFolder(strFolderName)
            For Each oFile In oSourceFolder.Files
            wksDest.Cells(iRow, 1) = oFile.Name
     
     
             iRow = iRow + 1 
             Next oFile
     
     
     
    Sub Chemin() 
     
        ListFilesInFolder "c:\\blabla", True
     
    End Sub
    Merci de bien vouloir m'aider

  2. #2
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    A propos de ton premier problème à savoir
    Je voudrais premièrement afficher le nom des fichers tout les 4 lignes (plutôt que toutes les lignes)
    il te suffit de faire un saut de 4 lignes au lieu de 1
    Je ne suis pas sûre d'avoir bien compris la 2ème partie, alors n'hésite pas à donner un peu plus de détails et/ou du code

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut
    Tout d'abord merci de m'avoir répondu .

    Alors oui la 2ème partie est sans doute un peu tordu à comprendre...

    En fait je veux juste lister en face du nom de fichier présent dans mon tableau les valeurs contenues dans les cellules E15, F36, A2 et 013 à l'interieure de celui-ci.

    En gros que ça me récupère les valeurs des cellules contenues dans le fichier truc.xls par exemple et que ça me les colles en face de "truc" dans mon tableau. Pareil pour machin.xls, ça me récupère les valeurs des cellules contenue dans le fichier et ça me les colle en face de "machin". Et ainsi de suite pour qu'au final on aboutisse à un truc ressemblant à l'image que j'ai posté.

    Est-ce plus clair ?

  4. #4
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 155
    Par défaut
    Voilà un premier essai dans le cas où ton fichier "fille" s'appelle Book1 (oublie le +4 de mon précédent message
    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
    For Each oFile In oSourceFolder.Files
            '1re ligne
            wksDest.Cells(iRow, 1) = oFile.Name
            '2eme ligne copie E15
             wksDest.Cells(iRow, 2).FormulaR1C1 = "=[Book1]Sheet1!R15C5"
             '3eme ligne copie F36
             iRow = iRow + 1 
             wksDest.Cells(iRow, 2).FormulaR1C1 = "=[Book1]Sheet1!R36C6"
             '4eme ligne copie A2
             iRow = iRow + 1 
             wksDest.Cells(iRow, 2).FormulaR1C1 = "=[Book1]Sheet1!R2C1" 
             '5eme ligne copie 013
             iRow = iRow + 1 
             wksDest.Cells(iRow, 2).FormulaR1C1 = "=[Book1]Sheet1!R13C15" 
             'Fichier suivant
             iRow = iRow + 1 
             Next oFile
    /!\ Je ne suis pas du tout sûre que cela va fonctionner si Book1 est fermé. A essayer

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut
    Merci

    Après test, comme tu le craignais, ça ne fonctionne pas si Book1 est fermé...

    Quand je lance la macro ça me demande d'ouvrir le fichier excel correspondant à chaques fois.

    mais c'est un bon début .

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2004, 10h09
  2. Réponses: 2
    Dernier message: 20/02/2004, 08h47
  3. [ DB2] => [ORACLE] Récupération de données
    Par LeDid dans le forum DB2
    Réponses: 3
    Dernier message: 25/06/2003, 17h10
  4. Réponses: 13
    Dernier message: 20/03/2003, 08h11
  5. [XMLRAD] récupération de donnée
    Par Mitch79 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 30/01/2003, 15h36

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