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 :

Interrogation de répertoire [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Par défaut Interrogation de répertoire
    Bonjour,

    Je débute actuellement le VBA et je rencontre un souci de pratique...

    Je voudrais dans un cadre professionnel développer une macro me permettant de faire des synthèses de différents fichiers.

    Pour ce faire, je sais qu'il est possible de sélectionner plusieurs fichiers un par un pour ensuite en extraire mes données souhaitées. Mais dans un souci de simplicité, j'aurais voulu savoir s'il était directement possible de demander à ma macro d'ouvrir directement un répertoire / dossier où sont entreposés tous mes fichiers.

    Exemple : En gros au lieu d'ouvrir les fichiers "Semaine 1/2/3" je voudrais que ma macro questionne directement le dossier "Janvier.

    Auriez-vous des tips, des cas similaires ou des connaissances à m'apporter svp.

    Merci énormément d'avance.

    Bien cordialement,

    Hugo.

  2. #2
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Un exemple :
    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
    Sub BoucleDir()
    Dim Chemin As String, Fichier As String, Extens As String
     
        '********** A ADAPTER
        Chemin = "C:\Users\" & Environ("UserName") & "\Desktop\"
        Extens = "*.xls*"
        '*******************************************************
     
        Fichier = Dir(Chemin & Extens)
        If Fichier <> vbNullString Then
            Do
                MsgBox Chemin & Fichier
                Fichier = Dir
            Loop While Fichier <> vbNullString
        End If
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Par défaut
    En effet, ce bout de code me permet d'arriver à mes fins, mais pas par le moyen voulu ...

    Car le code cible un dossier bien précis, mais personnellement ma macro devra fonctionner sur différents dossiers pouvant eux-mêmes de nom.

    Pour l'instant, j'ai uniquement travaillé avec des "getopenfilename" et j'ai l'impression que ça revient à la même que votre code.

    Petite précision théoriquement, j’aurais aimé que ma macro soit sur un fichier excel de ce genre : feuille 1 = bouton de commande qui fait tourner ma macro / feuille 2 = Synthèse collée suite au passage de ma macro

    Pour l'instant, j'ai réussi à créer mon fichier / bouton de commande / extraire des données vers la feuille 2 classiquement

    Les 2 problèmes que j’encours sont : Le fait de faire questionner à ma macro un dossier / répertoire et non un ficher excel puis gérer une inconnue de nombre de fichiers excel dans mon dossier mais ça ça devrait aller en créant une suite je pense.

    Du coup, je ne sais pas si vous auriez plus d'infos sur le fameux dossier svp

    Merci d'avance pour votre réponse !! <3

  4. #4
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Par exemple :
    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
    Option Explicit
     
    Sub SelectionRepertoireEtAction()
    'https://www.developpez.net/forums/d107034/logiciels/microsoft-office/general-vba/vba-selectionner-repertoire/#post701479
    Dim Repertoire As FileDialog
        Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
        Repertoire.Show
        If Repertoire.SelectedItems.Count > 0 Then
            Call BoucleDir(Repertoire.SelectedItems(1), "*.xls*")
        End If
    End Sub
     
    Private Sub BoucleDir(Chemin As String, Extension As String)
    Dim Fichier As String
        If Right(Chemin, 1) <> Application.PathSeparator Then Chemin = Chemin & Application.PathSeparator
        Fichier = Dir(Chemin & Extension)
        If Fichier <> vbNullString Then
            Do
                MsgBox Chemin & Fichier
                Fichier = Dir
            Loop While Fichier <> vbNullString
        End If
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2018
    Messages : 14
    Par défaut
    Muchas gracias c'est exactement ce qu'il me fait !

    C'est vraiment sympathique de votre part de m'avoir consacré du temps.

    Pourrais-je me retourner vers vous si j'encontre d'autres problèmes svp ??

  6. #6
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    De rien!

    Citation Envoyé par TheHugoGua Voir le message
    Pourrais-je me retourner vers vous si j'encontre d'autres problèmes svp ??
    Le forum est là pour cela.
    1- chercher parmi les milliers de discussions si ton problème n'a pas déjà été traité,
    2- si non, poster ta demande comme tu l'as fait hier...

    A++

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

Discussions similaires

  1. Lister Répertoires et fichiers avec des points d'interrogations
    Par KOUTO dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 27/04/2010, 14h05
  2. Répertoire caché
    Par KUBITUS dans le forum Delphi
    Réponses: 30
    Dernier message: 13/04/2007, 07h19
  3. sélectionner un répertoire
    Par estelle dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 02/09/2005, 04h53
  4. [Répertoire] Copier vers un autre répertoire
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/09/2002, 10h39
  5. Tjours mon pb de date de répertoire
    Par mjacque dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2002, 09h50

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