EXCEL VBA run time error 445

Messages postés
10
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
11 mars 2013
- - Dernière réponse : ucfoutu
Messages postés
18039
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
Afficher la suite 

11 réponses

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
10
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
11 mars 2013
0
Merci
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
Commenter la réponse de MICHELS91
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
10
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
11 mars 2013
0
Merci
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
Commenter la réponse de MICHELS91
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
0
Merci
Pour accelerer un peu le sujet, regardes la fonction Dir()!


../\_/\..
.( o.o ). ~ ElGuevel ~
..> - <..
Commenter la réponse de elguevel
Messages postés
10
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
11 mars 2013
0
Merci
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
Commenter la réponse de MICHELS91
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
10
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
11 mars 2013
0
Merci
J'ai transféré ces questions dans Divers > General > DIR de dossier et sous-dossiers
Est ce OK ?

michels91
Commenter la réponse de MICHELS91
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
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
Commenter la réponse de ucfoutu