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érer des infos sans ouvrir les fichiers


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Récupérer des infos sans ouvrir les fichiers
    J'ai un souci, je démarre dans la programmation vba, et bien entendu je suis une quiche !

    Voilà le problème. J'ai 200 quizz à traiter (quizz aaaa, quizz bbbb, quizz cccc, etc). Ils sont répartis dans différents répertoires (service 1, service 2, service 3, etc) eux-mêmes contenus dans le répertoire MonDossier. Les cellules dont j'ai besoin sont placées au même endroit dans chaque quizz (encore heureux sinon on n'était pas dans la m... !).

    Le but du jeu est d'aller «*scanner*» les répertoires pour scanner chacun des quizz, prendre les infos dont j'ai besoin pour les copier dans ma feuille Réponses, toutes les 3 lignes si possible. Et sans ouvrir les 200 quizz bien entendu, car je crois au Père Noël.

    Ca donnerait quelque chose comme ça, en français :

    Boucler tant que MonDossier est non vide ' « vide » n'est peut-être pas le mot qui convient ici

    'scan du répertoire Service 1

    Compter le nbre de quizz
    Pour I =0 jusqu'à nbre de quizz

    'scan du 1er quizz

    copier cellule A18 du quizz dans cellule A1 de la feuille Réponses
    copier cellule A20 du quizz dans cellule B1 de la feuille Réponses
    copier cellule A25 du quizz dans cellule C1 de la feuille Réponses
    copier cellule A27 du quizz dans cellule D1 de la feuille Réponses
    copier cellule A29 du quizz dans cellule E1 de la feuille Réponses
    copier cellule A33 du quizz dans cellule F1 de la feuille Réponses
    copier cellule A35 du quizz dans cellule G1 de la feuille Réponses

    'les cellules à recopier ne se suivent pas, mais elles sont recopiées dans des
    'cellules contigües.

    ligne=ligne +3

    'scan du 2e quizz

    copier cellule A18 du quizz dans cellule A4 de la feuille Réponses
    copier cellule A20 du quizz dans cellule B4 de la feuille Réponses
    copier cellule A25 du quizz dans cellule C4 de la feuille Réponses
    copier cellule A27 du quizz dans cellule D4 de la feuille Réponses
    copier cellule A29 du quizz dans cellule E4 de la feuille Réponses
    copier cellule A33 du quizz dans cellule F4 de la feuille Réponses
    copier cellule A35 du quizz dans cellule G4 de la feuille Réponses


    Fin de la boucle

    'le répertoire MonDossier contient un autre répertoire
    'scan du répertoire Service 2

    'reprendre du début jusqu'à ce que :

    Fin de la boucle car tous les fichiers de tous les répertoires de MonDossier ont été lus.

    Pour info, j'ai essayé de m'aider de ce code que j'ai trouvé sur un forum :

    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
    Sub rapatriement()
    	Dim ReponsesOG As String, Ligne As Long
    	Const Chemin = "D:\ABC\essai\"
    	Ligne = 3
    ReponsesOG = Dir(Chemin & "\*.xl*")
    Do While ReponsesOG <> ""
    Workbooks.Open Filename:=Chemin & ReponsesOG
    Sheets("Feuil1").Select
    Range("A1:J2").Copy
     
    ThisWorkbook.Sheets("Feuil1").Cells(Ligne, 1).PasteSpecial _
    xlPasteValuesAndNumberFormats, Operation:= _
    xlNone, SkipBlanks:=False, Transpose:=True
     
    Ligne = Ligne + 9
    Workbooks(ReponsesOG).Close False
    ReponsesOG = Dir
    Loop
    End Sub
    Mais ça ne marche pas et j'ai du mal à m'y retrouver là-dedans ! Voilà, vous voyez mieux ce sur quoi je bute ? Ce programme doit tourner sur excel 2003, au cas où ça serait important.....

    Pliz, aidez-moiiiii !

  2. #2
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    Bonjour,
    Tu as déjà un problème avec le chemin du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:=Chemin & "\" & reponsesog

  3. #3
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par oOVaveOo Voir le message
    Bonjour,
    Tu as déjà un problème avec le chemin du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:=Chemin & "\" & reponsesog
    chemin contient déjà le "\" ...



    par contre ce code ne fait pas du tout ce que tu décris ..! , il ouvre les classeurs 1 à 1..

    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
     
    Sub rapatriement()
    	Dim ReponsesOG As String, Ligne As Long
    	Const Chemin = "D:\ABC\essai\"
    Ligne = 1 '1° ligne
    Dim yaWk as workbook
    ReponsesOG = Dir(Chemin & "\*.xl*")
    Do While ReponsesOG <> ""
    set yaWk = Workbooks.Open (Chemin & ReponsesOG=
    'copier cellule A18 du quizz dans cellule A1 de la feuille Réponses
    ThisWorbook.Sheets("Reponses").cells(Ligne,1)= yaWk.sheets(1).Range("A18") 
    'A copier pour autres valeurs... 
    Ligne = Ligne + 3
    yaWk.Close False
    ReponsesOG = Dir
    Loop
    ...
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  4. #4
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par JackOuYA Voir le message
    chemin contient déjà le "\" ...
    Exact, j'avais pas vu

    Il faudrait dire où ça coince.

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par hakuna_du_94 Voir le message
    .../...
    Le but du jeu est d'aller «*scanner*» les répertoires pour scanner chacun des quizz, prendre les infos dont j'ai besoin pour les copier dans ma feuille Réponses, toutes les 3 lignes si possible. Et sans ouvrir les 200 quizz bien entendu, car je crois au Père Noël.
    .../...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub rapatriement()
    	Dim ReponsesOG As String, Ligne As Long
    	Const Chemin = "D:\ABC\essai\"
    	Ligne = 3
    ReponsesOG = Dir(Chemin & "\*.xl*")
    Do While ReponsesOG <> ""
    Workbooks.Open Filename:=Chemin & ReponsesOG
    .../...
    Faudrait savoir ce que tu veux
    Sinon comme toujours, il suffit de lire les tutos ...

Discussions similaires

  1. Réponses: 18
    Dernier message: 03/10/2011, 10h48
  2. Faire tourner des macros sans ouvrir le fichier
    Par markinho04 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/09/2010, 11h43
  3. [XL-2003] Lire des info. sans charger son fichier xls
    Par JOHN14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/09/2009, 14h07
  4. Réponses: 1
    Dernier message: 30/11/2008, 10h27
  5. Récupérer des infos sans passer par du JS
    Par Raphael_74 dans le forum WebDev
    Réponses: 2
    Dernier message: 06/02/2008, 09h06

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