Recherche automatique d'un dossier

Résolu
lamasone Messages postés 6 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 7 mai 2007 - 4 mai 2007 à 16:14
lamasone Messages postés 6 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 7 mai 2007 - 7 mai 2007 à 15:35
Bonjour à tous,

Je réalise une petite application vba pour autocad, et dans mon code je fait appel à plusieur type de fichier qui sont tous dans un dossier "Plan".
Mais comme je sais pas ou va etre mis ce dossier plus tard (ca changera suivant les postes) je voudrai le chercher sur le dd et récupérer son chemin d'accès.
J'ai vu plusieur truc (récursif.....)sur le site mais je comprend pas tout.
Si ya quelqu'un qui peut m'aider ca me débloquerai,merci d'avance à tout le monde.

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 mai 2007 à 16:41
Re,
Tiens essaies de comprendre le principe de ceci.
Pour le tester je ne te conseille pas de le lancer avec C:\ comme répertoire de base sinon cela risque de tarder un peu.
Option Explicit

'Il faut ajouter Microsoft Scripting Runtime pour utiliser
'ce code

Private Sub Form_Load()

'Tableau de résultat
Dim Results() As String
'redimensionne le tableau
ReDim Results(0)
'appelle la procédure de recherche
Call RechercheRep(New FileSystemObject, Results, "PLAN", "C:\")
Stop
End Sub<hr />
Public Sub RechercheRep(ByRef FSO As FileSystemObject, ByRef Results() As String, ByVal RepCherche As String, ByVal StrCheminBase As String)
'Variable Temp de type folder
Dim Fol As Folder
   'Pour Chaque repertoire dans le repertoire de base
   For Each Fol In FSO.GetFolder(StrCheminBase).SubFolders
       'Si le nom est bien le nom recherche
       If UCase(Fol.Name) = UCase(RepCherche) Then
           'on rempli le tableau de résultats
           Results(UBound(Results)) = Fol.Path
           'on prépare un espace de plus (dons le dernier sera vide
           ReDim Preserve Results(UBound(Results) + 1)
       Else
           'si le est différent on RAPPELLE la même procédure
           'mais avec des parametre différent pour effectuer la recherche
           'dans un sous répertoire
           Call RechercheRep(FSO, Results, RepCherche, Fol.Path)
       End If
   Next
   'desctruction du Folder
   Set Fol = Nothing
End Sub<hr />
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 mai 2007 à 22:56
Nul besoin que ton programme recherche le répertoire à chaque session.
Écris le chemin du répertoire dans la base de registre en utilisant SaveSetting et tu vas le lire avec GetSetting.

À la première utilisation, comme le chemin n'est pas écrit dans la base de registre, tu ouvres un explorateur (Common Dialog ou fonction Application.GetOpenFilename ou autre). L'utilisateur devra donc définir le chemin une première fois. Tu inscris ce chemin dans la base de registre et les fois suivantes tu n'auras plus qu'à lire ce chemin.

MPi
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 mai 2007 à 16:35
Salut,
Tu n'as pas le choix tu dois essayer de comprendre la récursivité sinon les codes que l'on te proposera te seront (DANS LA PLUPART DES CAS) inutile

@+: Ju£i?n
Pensez: Réponse acceptée
0
lamasone Messages postés 6 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 7 mai 2007 2
4 mai 2007 à 17:03
Merci de ta réponse hyper rapide jrivet mais la c bientot le week end et j'en ai marre.
je v attendre lundi et d'avoir la tete bien vide pour me pencher sur ton code puisque il va falloir faire un gros travail de concentration.

Encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
4 mai 2007 à 23:07
 Bonsoir,

Salut Julien,
Hyper bien cette "nouvelle" présentation ...
Ton script est évidemment la réponse à valider .
Petite question:
Pour ou contre la convention de notation hongroise ???
Bien la réponse de 17h03 ....

A+.
jean-marc
0
lamasone Messages postés 6 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 7 mai 2007 2
7 mai 2007 à 15:35
Salut,
C 'est bon j'ai pu m'intéresser à ta réponse jrivet et ca marche sans problème, un peut long mais ca va.


Par contre on est obligé de donné au moins "C:/" pour qu'il cherche étant donné que je sais pas du tout où les utilisateurs vont mettre le dossier j'espère que ca passera.


Sinon je vais essayer de le combiner avec ce qu'à dit MPi car j'ai besoin de le chercher qu'une fois.


Encore merci à vous
0
Rejoignez-nous