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 :

Problème : Compter un nombre de documents avec la fonction FSO


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Problème : Compter un nombre de documents avec la fonction FSO
    Bonjour a tous,

    Je dois actuellement crée une macro sous VBA qui permet de compter le nombre de fichier(pdf) dans un dossier et de l'afficher sur un fichier Excel
    Le probleme est que je suis debutant et je n'arrive pas a récupérer les données que je vois lors de la simulation

    Je joins la partie avec la fenêtre des variables locales, avec la donnée que je souhaite récupérer. Je cherche surtout l'instruction qui permet de récuperer la valeur count

    Merci de votre aide


    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
    39
    '************************************************************************************************************
     
    Sub ListeREX()
     
      Dim i, c As Integer 'i = ligne et j = colonne
      Dim j, r As Byte
      Dim Repertoire, SsRep As String
     
      Repertoire =  'nom du répertoire où se trouve les données Rg0
     
      [A:C].ClearContents      'Supprime la colonne A-C sauf le titre
     
      SsRep = Dir(Repertoire & "\", vbDirectory) 'Vecteur qui pointe sur le nom du sous fichier Rg1 "\" défini uniquement le sous dossiers
     
      i = 4
     
      Cells(3, 1) = "PN"
      Cells(3, 2) = "Nombre Fichiers"
     
     Set Fso = CreateObject("Scripting.FileSystemObject")
     Set DossierSource = Fso.GetFolder(Repertoire)
     
     Do While SsRep <> "" 'tant qu'il y a des fichiers dans REX
     
         If SsRep <> "." And SsRep <> ".." Then 'on supprime qd le programmme commence à compter il indique 2 valeurs incorrects <.> et <..>
     
            If GetAttr(Repertoire) = vbDirectory Then 'Vecteur qui pointe sur les sous fichiers
     
               j = 1
               Cells(i, j) = SsRep
               j = j + 1
     
               'Compter le nombre de fichier           
            i = i + 1
            End If
         End If
         SsRep = Dir 'A ce moment que le Dir change de valeur
      Loop
    End Sub
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)

  3. #3
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, nettement plus rapide ( x3 ) que FSO via les APIs, surtout quand le nombre de fichiers est important, par contre plus complexe et à adapter à ton contexte pour dégraisser la bête : ici

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci de vos reponses

    Mes en regardant le lien de rdurupt, je n'arrive pas à activer le sous dossier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set DossierSource = Fso.GetFolder(Repertoire)
    Je suis au niveau de mon dossier source, mais je n'arrive pas a selectionner le sous dossier de rang inférieur

    Pour la solution de kiki,je suis débutant donc la complexité, ce n'est pas mon ami.

  5. #5
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, ce qui est dommage c'est de partir battu d'avance.

  6. #6
    Invité
    Invité(e)
    Par défaut
    bonjour,
    tu veux compter tous les fichier du répertoire et des sous répertoires?

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour, bonjour !

    Pour un besoin de lister de simples fichiers, au lieu d'utiliser une bibliothèque ou API externes,
    penser d'abord à la fonction Dir interne au VBA ‼
    En consultant son aide et son exemple, niveau débutant …

    Pleins d'exemples dans les discussions de ce forum comme celle-ci

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. compter le nombre d'éntree avec critére sur un champ
    Par gastoncs dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/03/2012, 07h47
  2. Compter le nombre de champs avec condition
    Par 73brunette73 dans le forum IHM
    Réponses: 3
    Dernier message: 31/05/2010, 06h27
  3. Compter le nombre d'entrée avec condition
    Par Seta-san dans le forum Langage
    Réponses: 5
    Dernier message: 17/02/2009, 12h20
  4. Réponses: 3
    Dernier message: 24/10/2006, 11h05
  5. Réponses: 6
    Dernier message: 03/04/2006, 09h42

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