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 :

Trier par date dans un répertoire Windows des fichiers


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut Trier par date dans un répertoire Windows des fichiers
    Bonsoir à tous,

    Y a-t-il un moyen des trier des fichiers par date dans un répertoire sous Windows ?

    J'ai bien trouvé comment parcourir un répertoire, copier des fichiers, renommer, effacer ... mais rien concernant ce fameux trie.
    Par avance merci à ceux qui aurais une méthode Vba ou un début de piste.

    Bien amicalement

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Une façon de faire
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Sub ExtraireFichiers()
        Dim Repertoire As String, Fichier As Variant
        Dim Tablo() As Variant
        Dim Cnt As Long
     
        Repertoire = "C:\Test\"
     
        'Comptabilise le nombre de fichiers excel trouvés
        Fichier = Dir(Repertoire & "*.xl*", vbArchive)
        Do While Fichier <> ""
            Cnt = Cnt + 1
            Fichier = Dir
        Loop
     
        'Dimensionne un tableau qu'on va remplir et trier par la suite
        ReDim Tablo(Cnt - 1, 1)
        Cnt = 0
        Fichier = Dir(Repertoire & "*.xl*", vbArchive)
        Do While Fichier <> ""
            Tablo(Cnt, 0) = Fichier   'Nom du fichier
            Tablo(Cnt, 1) = FileDateTime(Repertoire & Fichier)   'Sa date de modification
            Cnt = Cnt + 1
            Fichier = Dir
        Loop
     
        'Le tableau revient trié
        Tablo = TriTableau(Tablo)
     
    End Sub
     
    Function TriTableau(Tablo) As Variant
        Dim I As Long, J As Long
        Dim tmpVal1, tmpVal2
     
        For I = 0 To UBound(Tablo) - 1
            For J = I + 1 To UBound(Tablo)
                If Tablo(I, 1) > Tablo(J, 1) Then
                    tmpVal1 = Tablo(I, 0)
                    tmpVal2 = Tablo(I, 1)
                    Tablo(I, 0) = Tablo(J, 0)
                    Tablo(I, 1) = Tablo(J, 1)
                    Tablo(J, 0) = tmpVal1
                    Tablo(J, 1) = tmpVal2
                End If
            Next
        Next
     
        TriTableau = Tablo
    End Function

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut
    Merci beaucoup pour cette réponse,
    Mais je veux juste les trier sans les récupérer dans Excel

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par scoubi77 Voir le message
    Merci beaucoup pour cette réponse,
    Mais je veux juste les trier sans les récupérer dans Excel
    ??????????????????
    tu pourrais etre plus precis tu veux les trier dans quoi alors ??
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut
    Seulement dans le répertoire Patrick

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    L'ordre d'affichage des fichiers d'un répertoire dans l'explorateur n'est pas une question VBA, mais une question Windows.
    Cet affichage est décidé (s'il y est autorisé) par l'utilisateur depuis l'onglet "Affichage" de la barre de menus de la fenêtre de l'explorateur.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut
    Certes mais existe-t-il une instruction en vba qui permettrait justement de pouvoir faire cela à la place de l’utilisateur.
    J’utilise un répertoire de stockage dans lequel je crée depuis Excel des fichiers PDF, mais il peut arriver que certains utilisateurs en rajoute de façon manuel sans passer par mon programme.
    J’ai écris une boucle qui récupère depuis ce répertoire les noms de fichiers, date de création et je l’affiche dans une listeview.
    Pour éviter de faire deux opérations, à savoir écrire dans une feuille les fichiers, trier et refaire une boucle pour les afficher dans ma listeview... directement les trier à la source avant l’affichage !
    J’arrive à copier, créer, renommer un fichier, connaître sa date de modification.... depuis le Vba dans un répertoire Windows pourquoi pas lancer un tri par date dans ce même répertoire ?

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    existe t’il une instruction en vba qui permettrait justement de pouvoir faire cela à la place de l’utilisateur
    Non. Aucune en VBA. Il t'est par contre possible de mettre en place un mécanisme (l'un d'entre eux t'a été suggéré) VBA pour afficher dans un contrôle de ton choix (rien à voir avec la fenêtre de l'explorateur) et dans l'ordre de ton choix les fichiers de ton choix.
    Je te laisse maintenant là.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut
    Merci beaucoup pour cette piste

Discussions similaires

  1. des dossiers bizarres dans le répertoire Windows
    Par marcel marie dans le forum Windows
    Réponses: 2
    Dernier message: 08/03/2016, 20h01
  2. [XL-2002] Compter des fichiers dans un répertoire windows
    Par micka06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/09/2010, 14h54
  3. Réponses: 17
    Dernier message: 07/07/2010, 22h38
  4. Sauvegarder des courriels dans un répertoire Windows
    Par noblelola dans le forum Lotus Notes
    Réponses: 6
    Dernier message: 13/10/2009, 19h46
  5. Trier par date des données d'une base mysql
    Par christophe_s46 dans le forum Requêtes
    Réponses: 3
    Dernier message: 31/08/2009, 11h18

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