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 :

[VBA-E]récupérer donnée autre fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 86
    Par défaut [VBA-E]récupérer donnée autre fichier
    Salut à tous,
    Je suis actuellement en train de reprendre une base de donné sur du matériel, actuellement chaque appareil est placé dans un dossier à son nom et puis dans un autre dossier qui représente la famille du matériel ( exemple : pour le matérielle K012 qui est une alimentation : C:\...\Alimentation\K012\K012.xls), mon travail est de faire une base commune plus précise.
    Je recherche donc un moyen de récupérer une donné ( toujours placé au même endroit dans les fiches ).
    J'ai commencé par concaténer certaine info pour faire des hyperliens vers les fiches, et je pensais faire = et cliquer dans la cellule qui correspondait à l'info recherché, pour récupérer celle ci, mais sur plus de 2000 matériels ce n'est pas envisageable, on m'a donc conseillé de faire une macro permettant de récupérer l'info, mais je n'y connais rien :j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro3()
    Workbooks.Open Filename:= _
    "C:\........\K012\K012.xls"
    Windows("Monfichier.xls").Activate
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=[K012.xls]ENR030!R18C3"
    Workbooks("K012.xls").Close
    End Sub
    j'ai trouvé cela en manipulant et allant voir l'info sur VB6
    Je cherche donc un moyen de faire une boucle permettant pour chaque ligne d'aller chercher l'info dans le fichier spécifique.
    si quelqu'un à une idée merci d'avance.
    ferronimus

  2. #2
    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
    Par défaut
    Tu es sur Excel (VBA-E) ou sur VB6 ? Parce que ta macro, là c'est du VBA Excel, pas du VB6

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    salut
    ça dépend aussi si tu veux
    récuperer tes fichier et en faire un fichier avec les alimentations ( k012, k..)
    ou récuperer tt les fichiers Ko12 pour avoir tout ce qui compose le k012.
    mais sinon, tu as tout interet a ne pas lier tout ça, mais a recréer des fichier.
    et après ça dépend si tout tes vieux fichiers ont la même organistion interne
    si par exemple c'est une fiche par fichier, avec le nom k012 toujour dans la même cellule, ou si c'est plus complexe, et que pour chaque materiel, tu soit obligé de le visionner. mais en gros
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for each fichier in tel répertoire
    fichier open
    ma fiche copie
    mon fichier. colle
    vieux fichier close
    next fichier
    un peu simpliste ce que je te dis là, mais à la fois on en sait pas assez

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 86
    Par défaut
    je suis en effet en Excel (VBA-E) et je cherche à récupérer une info toujours placé dans la même cellule dans chaque fichier de matériel, pour la placé dans mon fichier final

    Mais est-il possible d'utiliser des liens hypertexte qui mène à mes fiches pour récupérer l'info rechercher
    du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Macro3()
        Workbooks.Open Filename:= lien hypertexte de la cellule A3 vers ma fiche 
        Windows("monfichier.xls").Activate
        Range("B3").Select
        ActiveCell.FormulaR1C1 = "=[MAFICHE.xls]ENR030!R18C3"
        Workbooks("MAFICHE.xls").Close
    End Sub
    et je n'aurais plus qu'a faire une boucle pour faire cela à tous lesfichier

  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
    Par défaut
    Tu mets une adresse pour le lien hypertexte mais tous tes liens ne sont pas à la même adresse, ou alors tu ouvres toujours le même fichier...
    Comment sont organisés ces liens ?

    Ensuite, tu mets
    Windows("monfichier.xls").Activate
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "=[MAFICHE.xls]ENR030!R18C3"
    et je ne pense pas que tu places toujours cette formule dans la même cellule. Tu incrémentes le No de ligne pour chaque formule ?

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 86
    Par défaut
    en effet chaque matériel à un lien hypertexte différent et ils ne sont pas dans le même dossier
    si on prend un exemple le matériel K012 qui est une alimentation
    il se trouve dans C:\...\matériel\alimentation\k012\k012.xls
    la partie en rouge est commune à chaque matériel
    par contre chaque fiche matériel est fait de la même façon, l'information recherché est toujours dans la même cellule
    j'ai pencer à une structure ( désolé pour la synthaxe)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sub macro()
    Dim i As Integer   
    For i = 1 To 2000 Step 1 
     
    Workbooks.Open Filename:= lien hypertexte de la cellule Ai
        Windows("Monfichier.xls").Activate
        Range(Bi).Select
        ActiveCell.FormulaR1C1 = "=[Ai.xls]ENR030!R18C3"
        Workbooks("Ai.xls").Close
     
    Next i
    End Sub

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

Discussions similaires

  1. Récupérer données de fichiers au nom générique
    Par bestkiki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/05/2008, 19h47
  2. VBA - Lire & Récupérer données XML > Excel
    Par House MD dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/12/2007, 10h37
  3. [VBA-E]Ouverture d'autres fichiers
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/01/2007, 08h42
  4. [VBA-E] récupérer nom utilisateur fichier en lecture seule
    Par cwain dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/01/2007, 15h46
  5. [VBA-E]Récupérer chemin du fichier de données d'un graphique
    Par pimouss76 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/03/2006, 14h41

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