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 :

Besoin d'aide sur le calcul de folders VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Besoin d'aide sur le calcul de folders VBA
    Bonjour,

    Je suis nouveau sur le site et pour l'avoir utilisé plusieurs fois ça m'a beaucoup aidé.

    J'ai un problème avec une macro que je vous expose (Que j'ai d'ailleurs eu a travers le site). Je ne suis pas familier avec le calcul des classeurs.

    J'ai un répertoire avec des dossiers et dans chaque dossier il y a des sous-dossiers et dans chaque sous-dossier, des fichiers (PDF). J'arrive à calculer le nombre de dossiers et de sous dossiers, mais je voudrais ajouter un code de façon a faire une boucle pour calculer le nombre de fichier PDF dans chacun de mes sous dossiers. Comment je peux le faire ?

    Merci beaucoup

    Voici le bout de code que j'utilise :

    Sub Compter()
    chemin = "Monlien"
    CompterRep (chemin)
    End Sub

    Function CompterRep(chemin As String) As Integer
    'Compte le nombre de sous-répertoires dans le chemin spécifier
    'En ajoutant 2 lignes peut retourner tout les Sous/Sous etc.. répertoires
    Dim fs, f, sf, Nb
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(chemin)
    Set sf = f.SubFolders
    Nb = f.SubFolders.Count - 1
    Range("A1") = Nb & " Jours"

    Je voudrais continuer sur mon code

    End Function

  2. #2
    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

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Salut Kiki,

    Merci pour ta réponse rapide, le fichier Liste_Fichier est très intéressant. Je vais essayer de l'adapter mais il me parait quand même pas facile à adapter

    Je m'y met tout de suite

    Bonne journée

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    1) ce que tu veux faire ne saurait être traité par Excel (la présente section du forum) et nécessite l'utilisation de VBA
    2) le code déposé ici :
    https://www.developpez.net/forums/d1...me-repertoire/
    me parait facilement adaptable. Il suffit d'ajouter une formule Excel NB.SI à chaque dernière ligne de chaque sous-dossier, voire tout simplement d'utiliser un simple compteur remis à zéro à chaque sous-dossier et incrémenté de 1 pour chacun des fichiers y contenus.

    PS : je ne comprendrai jamais que l'on développe une application dédiée à ce genre de détermination (on ne fait pas cela tous les jours ...)
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Salut Unparia,

    Merci pour ta réponse

    Ce que je veux faire me parait simple, j'ai besoin de savoir combien de fichier il me reste dans mes dossiers pour savoir combien de tâches il me reste à traiter. Actuellement, ce calcul est fait tous les matins manuellement (Ouvrir chaque dossier, voir combien de fichiers il y a dedans et transcrire sur la feuille excel manuellement..... Un peu long ). L'automatiser serait plus simple

    C'est pour cette raison que je cherchais à l'automatiser

    Bonne journée

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Tu as alors eu ma réponse plus haut.

    EDIT : et si j'étais à ta place et si la finalité était celle que tu exposes, il y a longtemps que j'aurais :
    - créé un fichier texte contenant les chemins des fichiers restant à traiter
    - effacé de ce fichier chaque chemin traité
    - ajouté éventuellement à ce fichier tout nouveau chemin à traiter

    Tout cela serait simple et mille fois plus rapide que le recensement/comptage à refaire dans les sous-dossiers.

    Même une feuille ad hoc d'un classeur ad hoc ferait d'ailleurs l'affaire...
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/02/2008, 21h40
  2. Besoin d'aide pour un calcul sur un site
    Par barre dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/02/2007, 08h36
  3. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 10h16
  4. [intermedia] besoin d'aide sur script PL/SQL
    Par SteelBox dans le forum PL/SQL
    Réponses: 8
    Dernier message: 05/01/2004, 19h59
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

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