EXCEL VBA run time error 445

MICHELS91 Messages postés 10 Date d'inscription mardi 27 janvier 2009 Statut Membre Dernière intervention 11 mars 2013 - 31 juil. 2012 à 19:12
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 5 août 2012 à 15:41
Bonjour,

Je commence a écrire un programme excel VBA qui doit lister les fichiers contenus dans des dossiers. La ligne 3 me donne l'erreur 445 ??

Sub TrouveFichier()
Directory = "G:\NEW RDFs"
With Application.FileSearch
..................

Qui peut me dire ou se trouve mon erreur ?
merci d'avance, je suis bloqué.

michels91

11 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
1 août 2012 à 09:56
Bonjour,
Application.Filesearch ne fonctionne pas avec toutes les versions de Excel. Quelle est la tienne ?
Mais surtout : que veux-tu exactement faire ? Expose :
- ne chercher que des classeurs ? Chercher tous les fichiers (classeurs ou non) ?
- ne chercher que dans un dossier ? chercher également dans ses sous-dossiers ?
Taz question est à ce stade trop floue pour recevoir une réponse précxise.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
MICHELS91 Messages postés 10 Date d'inscription mardi 27 janvier 2009 Statut Membre Dernière intervention 11 mars 2013
1 août 2012 à 11:02
Bonjour,

Ma version est Excel 2007.
Je souhaite regarder dans tous les dossiers et sous-dossiers pour chercher tous les fichiers répondants à certains critères pour les compter, puis pour les transférer ailleurs.
Les fichiers peuvent aussi ne pas se trouver dans des classeurs.
Merci de votre aide !

michels91
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
1 août 2012 à 11:43
Les fichiers peuvent aussi ne pas se trouver dans des classeurs.

J'ignore le sens de cette phrase !
Ma version est Excel 2007

Cette version n'accepte pas Application.Filesearch
chercher tous les fichiers répondants à certains critères

Quels critères ? A préciser s'il te plait (nous en sommes au 4ème message !)
Je souhaite regarder dans tous les dossiers et sous-dossiers

Heu ! Sur toute ta machine ? ou seulement dans un dossier principal bien déterminé ?
Veux-tu bien essayer de ne répondre à tout cela que lorsque tu seras prêt à nous renseigner très précisément ? Merci de le faire avec attention (prends ton temps ...)
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
MICHELS91 Messages postés 10 Date d'inscription mardi 27 janvier 2009 Statut Membre Dernière intervention 11 mars 2013
1 août 2012 à 18:36
Bonjour,

Dommage que FileSearch ne marche pas avec Excel 2007.. j'avais trouvé des exemples pour excel 2000 et 2002. Par quelle instruction est-il remplacé pour rechercher et compter des fichiers ?
Mon problème est un peu complexe..
Je souhaite rechercher tous les fichiers portant l'extension XXX.dlog qui se trouvent dans un disque dur extérieur G:\NEW RDFs\.....
Ces fichiers dlog sont des procédures de machine de traitement médical (RDFs = Run Data Files). Les machines sont identifiées par un numéro qui commence par 1T (ex: 1T00122, 1T00077,...). Ces fichiers dlog ont toujours cette syntaxe : 1T00122_20120801_002_002872.dlog ( N° machine 1T00122, puis date 1 aout 2012, puis N° de procédure du jour, puis N° de procédure)
Ces fichiers peuvent se trouver dans des dossiers :
ex) G:\NEW RDFs\Lille\XXX.dlog ou G:\NEW RDFs\Lyon\XXX.dlog

De plus, ces fichiers peuvent aussi se trouver dans des sous-dossiers :
ex) G:\NEW RDFs\Lille\1T00122\ XXX.dlog ou G:\NEW RDFs\Lille\1T00077\ XXX.dlog
Tous les fichiers dlog doivent être copiés sur le réseau vers un disque dur externe : \\Frpsitnas
Les fichiers dlog dont la taille est >=100 KO correspondent à des procédures complètes, ils doivent être comptés et leurs qtés affichés sur une feuille Excel nommée "RUN DATAS" (1 fichier dlog = 1 procédure)
ex) 1T00122 52 procédures
1T00077 36 procédures, etc....

Voila vous savez tout !...que pensez vous de la faisabilité de ce projet ? Il y a du pain sur la planche, je crois

Merci d'avance de toute votre aide,
Bien Cordialement,



michels91
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
1 août 2012 à 18:44
Commence par le commencement : recenser tous les fichiers ayant une extension déterminée et se trouvant dans un dossier connu et rechercher également dans les sous-dossiers de ce dossier.
Une recherche sur le forum te conduira entre autres à une discussion à laquelle j'ai participé il y a environ 3 mois. Cette discussion contient entre autres un code que j'y ai donné et qui utilise la fonction Dir de manière récursive.
Voilà ! tu as tous les éléments nécessaires pour retrouver cette discussion.
Sa recherche va être nécessaire et je ne rechercherai que si tu n'y parviens pas toi-même (il me parait polus normal que tu fasses le premùier cet effort )


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
1 août 2012 à 21:22
Je vois que tu es là. J'en déduis deux choses :
1) la première est que tu cherches, cherches, cherches ...
2) la seconde est que tu as de séerieuses difficultés à la trouver, cette discussion.
Pourquoi, selon toi ? ===>> j'ai une hypothèse personnelle : elle a peut-être été ouverte sous un titre non révélateur du problème ... et alpors ... dur dur ... elle est "perdue dans la nature" ...
Regardons maintenant comment cela peut arriver :
Ton titre à toi, par exemple :
EXCEL VBA run time error 445

Crois-tu que cela révèle un problème de listing des fichiers d'un répertoire ? Non, n'est-ce-pas ...
Je me demande pour le coup quel serait, pour les autres forumeurs de ce forum, de donner ici la solution que tu cherches ! Elle serait à nouveau perdue (because ton titre) !
N'est-ce-pas ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
2 août 2012 à 18:32
Pour accelerer un peu le sujet, regardes la fonction Dir()!


../\_/\..
.( o.o ). ~ ElGuevel ~
..> - <..
0
MICHELS91 Messages postés 10 Date d'inscription mardi 27 janvier 2009 Statut Membre Dernière intervention 11 mars 2013
5 août 2012 à 13:46
Bonjour à tous,

Merci du tuyau, j'ai regardé en détail la fonction DIR ce qui m'a permis d'avancer. Le programme ci-dessous fonctionne, mais il ne me donne que les fichiers contenus directement dans le dossier "G:\NEW RDFs".
Je dois aussi inscrire tous les fichiers contenus dans tous les sous-dossiers dont le nom n'est pas connu.
ex) je veux voir les fichiers *.dlog contenus dans
"G:\NEW RDFs\LILLE" ainsi que dans "G:\NEW RDFs\PARIS", etc...
Les noms de Lille, Paris, .. peuvent être quelconque.
Merci par avance de votre coup de pouce

michels91

Sub ListFiles()

Dim strPath As String
Dim strFile As String
Dim NextRow As Long

'Spécifie le chemin path du dossier
strPath = "G:\NEW RDFs"

'S'assure que le path finit avec un backslash
If Right(strPath, 1) <> "" Then strPath = strPath & ""

'Get the first file from the folder
strFile = Dir(strPath & "*.*", vbNormal
'Si pas fichier trouvé, exit le sub
If Len(strFile) = 0 Then
MsgBox "No files were found...", vbExclamation
Exit Sub
End If

'Turn off screen updating
Application.ScreenUpdating = False

'Insert the headers for Columns A, B, and C
Cells(1, "A").Value = "FileName"
Cells(1, "B").Value = "Size"
Cells(1, "C").Value = "Date/Time"

'Find the next available row
NextRow = Cells(Rows.Count, "A").End(xlUp).Row + 1

'Loop through each file in the folder
Do While Len(strFile) > 0

'List the name, size, and date/time of the current file
Cells(NextRow, 1).Value = strFile
Cells(NextRow, 2).Value = FileLen(strPath & strFile)
Cells(NextRow, 3).Value = FileDateTime(strPath & strFile)
'Determine the next row
NextRow = NextRow + 1

'Get the next file from the folder
strFile = Dir

Loop
'Turn screen updating back on
Application.ScreenUpdating = True
End Sub
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
5 août 2012 à 14:12
Ouais ...
relis donc mon message de mercredi 1 août 2012 à 21:22:37
Tu n'as pas trouvé, hein ...
Et nul ne trouverait non plus la solution que j'aurais à répéter ici, avec le titre que tui as donné à ta discussion ! ===>> je m'abstiens donc de la répéter, puisqu'elle serrait à nouveau perdue !. J'attendrai (bien évidemment) pour ce faire que ta discussion soit ouverte avec un titre plus révélateur du problème, pardi. On finira par y arriver un jour, à force, à force ...
A toi de voir, ami ...


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
MICHELS91 Messages postés 10 Date d'inscription mardi 27 janvier 2009 Statut Membre Dernière intervention 11 mars 2013
5 août 2012 à 15:01
J'ai transféré ces questions dans Divers > General > DIR de dossier et sous-dossiers
Est ce OK ?

michels91
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 219
5 août 2012 à 15:41
Bien .
Et tu y as donc, maintenant, ta réponse.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0