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 :

Prendre cellule dans plusieurs classeurs excel


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Prendre cellule dans plusieurs classeurs excel
    Bonjour à tous,

    mon problème est le suivant: je voudrais récupérer une cellule (B1) dans plusieurs fichiers excel d'un répertoire et mettre toutes ces cellules B1 dans un tableau dans un fichier maitre. Ex: la cellule B1 du fichier 1 en A1 du fichier maitre, la cellule B1 du fichier 2 en A2 du fichier maitre etc...

    Sachant que les fichiers "esclaves" ont des noms différents et ont un seul onglet.

    Je pense qu'un macro serait nécessaire mais je ne saurai pas la développer. De plus, je voudrais récupérer ces cellules A1 sans avoir à ouvrir les fichiers esclaves car cela serait beaucoup trop long.

    Merci d'avance.

    nb: j'ai mis en pièce jointe un exemple de fichier esclave
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    Bonjour,

    Tu peux tester et adapter cette procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Explicit
     
     
    Sub Test()
        Range("A1") = LireCellule_ClasseurFerme( _
            "C:\Documents and Settings\dossier", _
            "Classeur1.xls", _
            "Feuil1", _
            Range("B1"))
    End Sub

    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
    Function LireCellule_ClasseurFerme( _
            Chemin As Variant, _
            Fichier As Variant, _
            Feuille As Variant, _
            Cellule As Variant) As Variant
     
        Application.Volatile
     
        Dim Source As Object, Rst As Object, ADOCommand As Object
        Dim Cible As String
     
        Feuille = Feuille & "$"
        Cible = Cellule.Address(0, 0, xlA1, 0) & ":" & _
            Cellule.Address(0, 0, xlA1, 0)
     
        Set Source = CreateObject("ADODB.Connection")
        Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Chemin & "\" & Fichier & _
            ";Extended Properties=""Excel 8.0;HDR=No;"";"
     
        Set ADOCommand = CreateObject("ADODB.Command")
        With ADOCommand
            .ActiveConnection = Source
            .CommandText = "SELECT * FROM [" & Feuille & Cible & "]"
        End With
     
        Set Rst = CreateObject("ADODB.Recordset")
        '1 = adOpenKeyset, 3 = adLockOptimistic
        Rst.Open ADOCommand, , 1, 3
        Set Rst = Source.Execute("[" & Feuille & Cible & "]")
     
        LireCellule_ClasseurFerme = Rst(0).Value
     
        Rst.Close
        Source.Close
        Set Source = Nothing
        Set Rst = Nothing
        Set ADOCommand = Nothing
    End Function

    bonne soirée
    michel

Discussions similaires

  1. [XL-2003] récupérer la valeur d'une cellule dans plusieurs classeurs identiques
    Par greenfire15 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/08/2012, 09h20
  2. [XL-2007] Recherche valeur cellule dans plusieurs classeurs fermés
    Par Millenniums dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/04/2011, 20h32
  3. Prendre plage de cellule dans plusieurs classeurs excel
    Par lavoile dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/09/2010, 11h51
  4. Ouvrir plusieurs classeurs Excel dans un seul processus
    Par zoopsys dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/12/2008, 17h27
  5. reporter une cellule dans plusieurs feuilles excel
    Par tigdub1gal dans le forum Excel
    Réponses: 17
    Dernier message: 07/06/2007, 01h23

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