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 valeurs dans la cellule d'un autre fichier [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Récupération de valeurs dans la cellule d'un autre fichier
    Bonjour,
    J'ai écris une fonction qui permet à l'ouverture de mon fichier excel:
    1) d'aller dans tous les sous-dossiers du fichier courant
    2) de récupérer les fichiers excels de ces sous-dossiers
    3) de récupérer la valeur d'une cellule de ces fichiers excels

    Voici le code (c'est en anglais par habitude de programmation):


    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
    Private Sub Workbook_Open()
    Dim fso
    Dim objFolder
    Dim objSubFolders
    Dim objSubFolder
    Dim objOutputString
    Dim objSubFiles
    Dim objSubFile
     
    'Clearing Content of the tests listing table
    Range("$A$21:$E$40").ClearContents
     
    'Creating File System Object
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    'Getting the Folder Object
    Set objFolder = fso.GetFolder(thisworkbook.Path)
     
    'Getting the list of SubFolders
    Set objSubFolders = objFolder.SubFolders
     
    'Set the initial line to 21
    Line = 21
     
    'Looping on subFolders of the current WorkSheet
    For Each objSubFolder In objSubFolders
        Set objSubFiles = objSubFolder.Files
        'Looping on Files of the current subFolder
        For Each objSubFile In objSubFiles
        If fso.getExtensionName(objSubFile) = "xlsm" Then
        Cells(Line, 1) = Workbooks(objSubFile).Sheets(1).Range("A1").Value
        Line = Line + 1
        End If
        Next
    Next
     
     
     
    End Sub

    Le problème est qu'excel me jette lorsque je lance le fichier excel avec l'erreur:
    "incompatibilité de type"
    erreur qui se produit à la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(Line, 1) = Workbooks(objSubFile).Sheets(1).Range("A1").Value
    soit lors de la récupération de la valeur de la cellule des fichiers du sous-dossier.
    Je ne comprend pas trop pourquoi...
    Merci d'avance,

  2. #2
    Invité
    Invité(e)
    Par défaut
    C'est normal il faut ouvrir le classeur pour pouvoir lire son contenu.

    Le mieux est sans doute de lire dans le classeur fermé à l'aide de la fonction 'ExecuteExcel4Macro'.

    Plus d'informations:
    http://silkyroad.developpez.com/VBA/...sFermes/#LIV-A

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    En effet...
    Je regarde ton lien mais je pense avoir trouver la solution à mon problème.
    Merci!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/07/2013, 21h39
  2. Accéder à la valeur d'une cellule d'un autre fichier excel depuis VBA
    Par guillaume7501 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/09/2008, 20h38
  3. donner a une variable la valeur d'1 cellule d'1 autre fichier
    Par yahi.jye dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/09/2006, 00h29
  4. Réponses: 4
    Dernier message: 09/01/2006, 01h24
  5. Récupération de valeurs dans logiciel de bourse
    Par david0280 dans le forum MFC
    Réponses: 25
    Dernier message: 28/03/2005, 20h28

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