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 :

extraction de données entre 2 fichiers excels


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 18
    Points
    18
    Par défaut extraction de données entre 2 fichiers excels
    Bonjour à tous,

    Je vous expose mon problème pour que vous disiez s’il a une solution.
    En fait, j’ai un fichier excel qui sert de base d’extraction de données et de calculs statistiques que je vais appeler BLM.
    Ce fichier est censé extraire toujours les mêmes valeurs d’autres fichiers excels (nommés : PDU).
    Dans le fichier BLM, j’ai une feuille où l’opérateur doit entrer les coordonnées des cellules que la va macro va ensuite d’extraire des fichiers PDU et les envoyer dans un fichier Résultat.
    C’est à dire, l’opérateur entre par exemple dans le fichier BLM (feuille extract) B38.

    La macro devra alors ouvrir le fichier PDU, extraire la valeur située dans la cellule B38 et la copier dans une feuille résultat située dans le fichier BLM.
    La macro devra faire cela pour tous les fichiers PDU situés dans le même dossier.

    J’espère avoir été bien clair. Ma question est donc est-il possible de créer un code qui permet de faire ceci.

    Merci d’avance à vous tous

  2. #2
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 208
    Points : 86
    Points
    86
    Par défaut
    oui c'est tout a fait possible
    il ya meme deja des gens qui ont fait ce genre de macro
    cherche les et inspire toi en

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Oui, c'est possible : Tout est possible (ou presque) tout est réalisable (ou presque)
    Par contre une chose m'intrigue : C'est pas mon affaire mais comment l'opérateur saura-t-il que c'est la cellule B38 ?

    Pour ton pb, tu as plusieurs solutions
    Soit tu travailles à partir de l'adresse de la cellule que l'opérateur doit renseigner, donc de la feuille de calculs, soit à partir d'un bouton dans une barre d'outils ou de la feuille de calculs.
    La macro va donc se trouver dans le fichier BLM.
    Elle devra, dans une boucle, lister les fichiers du répertoire et, les ouvrir tour à tour, copier la valeur de la cellule renseignée, la coller dans BLM, fermer le fichier et passer au suivant.
    Deux questions : Comment seront placées les nouvelles données dans BLM (à lasuite par ligne, à la suite par colonne ? Dans quelle feuille ? feuille extract ? une autre ?
    Une fois ces points au clair, restera plus qu'à...
    Fais déjà ce que tu penses pouvoir faire et quand tu as un pb de syntaxe, tu nous dis
    A+ donc.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    En fait l’opérateur aura à remplir la première fois la feuille extract et par la suite, il n’aura plus à y toucher. En effet, tous les fichiers à extraire garde la même syntaxe car ce sont des rapports de bancs de test. L’opérateur aura donc juste à en ouvrir un la première fois, renseigner tous les champs et par la suite tout sera fait automatiquement.

    Les données extraites seront placées ensuite dans une feuille « résultat » du fichier BLM à la suite par colonne.

    Une dernière question, est ce que l’opérateur doit rentrer dans la feuille extract seulement B38 comme coordonnées ou bien $B$38 ou autre chose ?

    Merci

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    B38 ou $B$38, dans ce cas précis, l'un ou l'autre.
    Plusieurs questions : La macro devra-t-elle parcourir toutes les cellules renseignées de la feuille Extract pour connaître les données à copier dans les feuilles des fichiers PDU ? Auquel cas, dans la boucle listant les fichiers, tu devras insérer une boucle sur les cellules de la feuille Extract.
    Enfin, dans quelle feuille les données seront-elles collées ?
    (j'ai la réponse : Feuille Résultat)
    A+

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    Pour répondre à ta question la macro devra effectivement parcours toute la feuille extract.

    J'ai une question, je ne sais pas comment faire pour que le parametre issu de la feuille extract (exemple B38) soit considéré comme une coordonnée lors de l'ouverture du fichier PDU.

    J'ai essayé avec Cells.Find mais je seche!!!

    As tu une idée brillante?

    Merci d'avance

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("PDU...").Worksheets("Résultat").Range("B38").value = ...
    A ta place, pour simplifier le code je créerais l'instance de chaque feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim FL1 as worksheet
    Set FL1 = Workbooks("PDU...").Worksheets("Résultat")
    Ensuite, au lieu de nommer le classeur, puis la feuille, tu n'utilises que FL1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FL1.Range("B38")= .......
    Mais j'ai l'impression que tu as un autre pb qui se profile... Comment parcourir la plage de cellules de la feuille extract. Mais je me trompe peut-être
    Si tu as un pb, tu dis
    A+

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 42
    Points : 18
    Points
    18
    Par défaut
    Bonjour à tous,

    je voulais savoir si:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Goto Reference:="R(Coordonnées_Ligne)C(Coordonnées_Colonne)"
    peut être valable.
    Coordonnées_Ligne et Coordonnées_Colonne sont des variables.
    Est ce que cette notation existe?

    merci

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu peux tester ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Goto Reference:="R" & Coordonnées_Ligne & "C" & Coordonnées_Colonne
    Pas testé (!)

Discussions similaires

  1. Extraction des données vers un fichier EXCEL
    Par vanesa dans le forum SQL
    Réponses: 4
    Dernier message: 29/10/2008, 15h29
  2. Copie de données entre deux fichiers Excel
    Par qltmi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/03/2008, 19h20
  3. Récupération de données entre 2 fichiers Excel
    Par akrev dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/08/2007, 21h38
  4. copie de données entre 2 fichiers excel
    Par kalu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/10/2006, 17h31
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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