Problème de parcours de Dossiers
Résolu/Fermé
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
-
Modifié par pijaku le 27/02/2015 à 08:51
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 11 mars 2015 à 13:24
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 11 mars 2015 à 13:24
A voir également:
- Problème de parcours de Dossiers
- Mettre un mot de passe sur un dossier - Guide
- Impossible de supprimer un dossier - Guide
- Vous avez besoin d'une autorisation de la part de administrateurs pour modifier ce dossier - Guide
- Mes parcours google - Guide
- Afficher la taille des dossiers - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
25 févr. 2015 à 11:26
25 févr. 2015 à 11:26
Bonjour,
Regarde ce code de Jacques Boisgontier :
Regarde ce code de Jacques Boisgontier :
Dim ligne Sub arborescenceRepertoire() racine = ChoixDossier() ' ou un répertoire C:\xxx e.g. If racine = "" Then Exit Sub Range("A:E").ClearContents Set fs = CreateObject("Scripting.FileSystemObject") Set dossier_racine = fs.getfolder(racine) ligne = 3 Lit_dossier dossier_racine, 1 End Sub Sub Lit_dossier(ByRef dossier, ByVal niveau) Cells(ligne, 1) = String(3 * (niveau - 1), " ") & dossier.Name ligne = ligne + 1 For Each d In dossier.SubFolders Lit_dossier d, niveau + 1 Next End Sub Function ChoixDossier() If Val(Application.Version) >= 10 Then With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = ActiveWorkbook.Path & "\" .Show If .SelectedItems.Count > 0 Then ChoixDossier = .SelectedItems(1) Else ChoixDossier = "" End If End With Else ChoixDossier = InputBox("Répertoire?") End If End Function
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
27 févr. 2015 à 08:58
27 févr. 2015 à 08:58
Bonjour,
Si j'ai bien compris...
Tu as deux répertoires contenant un nombre inconnu de sous répertoires. Le premier répertoire contient (dans ses sous-rép) des fichiers .pdf et le second des fichiers visio.
Tu souhaites, en fonction des noms des fichiers et de leurs dates de création, exporter certains fichiers visio en .pdf.
C'est cela?
Si j'ai bien compris...
Tu as deux répertoires contenant un nombre inconnu de sous répertoires. Le premier répertoire contient (dans ses sous-rép) des fichiers .pdf et le second des fichiers visio.
Tu souhaites, en fonction des noms des fichiers et de leurs dates de création, exporter certains fichiers visio en .pdf.
C'est cela?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
27 févr. 2015 à 09:45
27 févr. 2015 à 09:45
Si oui, pour plus de clarté, je procèderais de la sorte :
A partir du code ci-dessous :
- Une fonction principale => qui lance le bouzin et les fonctions dans l'ordre
- Une fonction de "listage" des fichiers et stocke leurs noms et leurs dates de création dans une variable tableau (FicPdfs() pour les fichiers pdf et FicVisios pour les vsd)
- Une fonction de comparaison des deux variables tableaux.
A partir du code ci-dessous :
- adapte ce qui doit l'être
- construit la Sub Compare
Option Explicit '******************** * * * * A ADAPTER * * * * ************************************** Const RepertPdf As String = "C:\Travail\2015\PDFS" 'Chemin des fichiers pdf Const RepertVisio As String = "C:\Travail\2015\VSDS" 'Chemin des fichiers visio Const ExtPdf As String = "pdf" 'Extension des fichiers pdf Const ExtVisio As String = "vsd" 'Extension des fichiers visio '******************** * * * * * * * * * * * ************************************** Dim FicPdfs(), FicVisios() Sub Principale() Dim fs As Object, dossier_racine As Object 'If RepertPdf = "" Or RepertVisio = "" Then Exit Sub Set fs = CreateObject("Scripting.FileSystemObject") 'Liste les fichiers pdf et leurs FileDateTime Set dossier_racine = fs.getfolder(RepertPdf) Lit_dossier dossier_racine, 1, FicPdfs, ExtPdf, 1 'Liste les fichiers vsd et leurs FileDateTime Set dossier_racine = fs.getfolder(RepertVisio) Lit_dossier dossier_racine, 1, FicVisios, ExtVisio, 1 Compare End Sub Sub Lit_dossier(ByRef dossier As Object, ByVal niveau As Integer, NomF(), ext As String, i As Long) Dim NomFic As String, d As Object For Each d In dossier.SubFolders NomFic = Dir(d & "\*." & ext) Do While NomFic <> "" ReDim Preserve NomF(1 To 2, 1 To i) NomF(1, i) = NomFic NomF(2, i) = Format(FileDateTime(d & "\" & NomFic), "DD-MM-YYYY HH") i = i + 1 NomFic = Dir Loop Lit_dossier d, niveau + 1, NomF, ext, i Next End Sub Sub Compare() End Sub
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
130
11 mars 2015 à 10:45
11 mars 2015 à 10:45
Merci pour ton aide mais pour finir j'ai compiler tout ça en C# et tout fonctionne bien à toi ;) là maintenant je suis passé à autre chose en PHP, si tu es doué j'aurais bien besoin de ton aide ^^ :) tient moi au courant ;) bien à toi
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
>
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
11 mars 2015 à 13:24
11 mars 2015 à 13:24
Bonjour,
Non, désolé, je suis plutôt nul en php.
Mais n'hésite pas à poser ta question sur le forum Programmation/php...
A++
Non, désolé, je suis plutôt nul en php.
Mais n'hésite pas à poser ta question sur le forum Programmation/php...
A++
25 févr. 2015 à 13:29
25 févr. 2015 à 14:40
La macro que je te donne liste tous les fichiers d'un répertoire et de ses sous répertoires... A toi de l'adapter pour qu'elle fasse ce que tu désires...
26 févr. 2015 à 16:35
For each oSubFolderbis in oFldb.SubFolders
.....
For each oSubFolder in oFld.SubFolders
....
next
next
quand je remonte à mon dossier type PDF\ pour accéder ainsi à PDF\Clientsuivant
et bien il s'arrête au premiere for each et donc ne prend pas en compte le dossier VISIO\Clientsuivant