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 :

Besoin d'aide Macro récupéré les mêmes données sur classeur fermé


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut Besoin d'aide Macro récupéré les mêmes données sur classeur fermé
    Bonjour, je travail actuellement sur un fichier pour mon taff et je bloque sur une macro pour récupérer plusieurs données sur plusieurs classeurs différents fermé.

    Je vous expliques :
    Mon fichier principale effectue une enquête, sur différent produit.

    J'ai donc envoyé le même questionnaire à plusieurs clients, ou les réponses ( valeurs ) ce situe dans les cellules suivantes : H5, D15,D16, E15,E16, C22,C23, D22,D23, E22,E23 .

    J'aurais donc besoin d'une macro qui va chercher les valeurs dans les céllules : H5, D15,D16, E15,E16, C22,C23, D22,D23, E22,E23 de tout les fichiers excel dans le même répertoire.

    Et qui les copie sur une feuil de mon fichier principal.

    Merci d'avance pour les courageux qui vont tenter de m'aider

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut merci kiki
    merci kiki j'ai deja lu ce doc très intéréssant ; j'ai opter pour :
    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
    Sub extractionValeurCelluleClasseurFerme()
        Dim Source As ADODB.Connection
        Dim Rst As ADODB.Recordset
        Dim ADOCommand As ADODB.Command
        Dim Fichier As String, Cellule As String, Feuille As String
     
        'Adresse de la cellule contenant la donnée à récupérer
        Cellule = "B4:B4"
          'Pour une plage de cellules, utilisez:
          'Cellule = "A4:C10"
     
        Feuille = "Feuil1$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
        'Chemin complet du classeur fermé
        Fichier = "C:\Base.xls"
     
        Set Source = New ADODB.Connection
        Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
     
        Set ADOCommand = New ADODB.Command
        With ADOCommand
            .ActiveConnection = Source
            .CommandText = "SELECT * FROM [" & Feuille & Cellule & "]"
        End With
     
        Set Rst = New ADODB.Recordset
        Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
     
        Set Rst = Source.Execute("[" & Feuille & Cellule & "]")
     
        Range("A2").CopyFromRecordset Rst
     
        Rst.Close
        Source.Close
        Set Source = Nothing
        Set Rst = Nothing
        Set ADOCommand = Nothing
    End Sub
    Mais je ne sais pas comment lui faire comprendre qu'il doit prendre la même valeur sur tout les fichiers du répertoire.

    Comme j'ai 200 fichiers et que ça peut varier en fonction des mois Je peux pas les inscrire dans la macro exemple c:\enquete1 , enquete2 etc....

    Il existe pas une fonction pour faire comprendre a VBA de prendre toute les valeur de tout les classeurs dans un répertoire ?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut Collecter des informations sur un répertoire de classeur fermé
    Je reviens encore pour solliciter votre aide, j'avais déjà poster un message similaire la semaine dernière de mémoire une personne au pseudonyme (kiki) m'avez répondu pour m'orienter dans mes recherches. Mais après une semaine de lecture et de compréhension en vain je n'arrive pas à obtenir le résultat désiré. Et je vois ma quantité de travail s'accumulé

    Mon problème : je voudrais que sur mon fichier excel "Base CEP fluide frigorigène"
    sur n'importe quelle feuille vierge, je puisse rapatrier une liste d'information sur tous les fichier excel présent dans le même répertoire. A savoir ce sont toujours les mêmes cellules que je doit rapatrier.
    Exemple : copier dans mon un tableau tout les cellule A1 B1 B2 B3 B4... sur une feuille vierge de mon fichier "Base CEP fluide frigorigène"
    Ça me dérange pas d'entrer toute les cellules si vous pouvez juste m'indiquer ou les écrires, mais si quelqu'un peut me taper la macro pour rapparier les information de tout les fichiers excel du répertoire ( les information ce trouve sur la feuil1) ça serait très gentil.

    Pour info le chemin du répertoire ou sont placer tous les fichiers Excel est :
    C:\Documents and Settings\fred\Mes documents\Enquete

    Je reste connecté sur le forum pour vos questions. En remerciant par avance celui ou celle qui m'aidera.
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    la macro suivante scanne tous les classeurs contenus dans le dossier indiqué dans la variable Chemin. la copie se fait cellule par cellule. Dans la macro, la cellule C2 du classeur fermé est copiée en A1 du classeur cible :

    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
    Sub test1()
        Dim Chemin As String, Fichier As String, Ligne As Long
        Dim Feuilles, Sh As Worksheet, Tabl
        Chemin = "C:\Users\Daniel\Documents\Donnees\Daniel\mpfe\"
        Fichier = Dir(Chemin & "*.xls")
        Set Sh = Sheets.Add
        Do While Fichier <> ""
            ThisWorkbook.Names.Add "Plage", _
                RefersTo:="='" & Chemin & "[" & Fichier & "]DonnesU'!$A$1:$Z$100"
            With Sh
                .[A1:Z100] = "=Plage"
                .[A1:Z100].Copy
                .[A1:Z100].PasteSpecial xlPasteValues
                ' Tabl est un tableaureprésentant la zone A1:Z100 du classeur fermé en cours de traitement
                ' la première dimension représente le numéro de ligne
                ' et la seconde le numéro de colonne
                Tabl = .[A1:Z100]
                Cells.ClearContents
                Ligne = Ligne + 1
                Cells(Ligne, 1) = Tabl(2, 3) ' renseigne A1
                'etc.
            End With
            Fichier = Dir
        Loop
    End Sub

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut Remerciement
    Un grand merciiii, une petite question je vois pas ou est situer l'information C2 et A1 dans ton code excuse pour m'on manque de connaissance lol

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Il s'agit de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(Ligne, 1) = Tabl(2, 3) ' renseigne A1
    Tabl a été rempli avec la plage A1:Z100 du classeur fermé.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut re
    re bonjour, le problème et que ça n'affiche pas les valeurs sur une seul feuille. ça les affiches pas les une en dessous de l'autre. Je me suis peut être mal exprimé

Discussions similaires

  1. Récupérer les mêmes données sur plusieurs classeurs
    Par Nicko29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2012, 21h07
  2. [débutant] besoin d'aide pour une Base de Données
    Par james-mi dans le forum Ruby
    Réponses: 6
    Dernier message: 12/03/2007, 00h17
  3. [MySQL] la page détaillée affiche toujours les mêmes données
    Par paricilas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/02/2007, 10h50
  4. [MySQL] besoin d'aide pour comprendre les injections sql
    Par cassy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/01/2007, 14h21
  5. Besoin d'aide pour recuperer les fichier d'un projet
    Par barthelv dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 14/04/2006, 11h47

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