Recherche d'un répertoire en VBA

Le
gege2000
Bonjour,
Dans une procédure automatique de création de fichiers Excel
j'aimerais tester l'existence ou non d'un répertoire dont je connais
que le début et la fin du nom (ex : C:data??-44, je connais "c:
data" et "-44" mais pas le code représenté par "??". Le code "-44"
est la clé de recherche du nom complet dans une table de
correspondance, je dois vérifier la présence de la correspondance dans
la table et ensuite le répertoire. Dans ma procédure j'enregistre les
fichiers dans ces sous-répertoires mais parfois il n'existe pas et
j'aimerais enregistrer le fichier dans un répertoire temporaire pour
éviter le blocage de la procédure.
1 - Je ne sais pas comment gérer l'erreur 3021 lors de la recherche
dans la table via une requête SQL.
2 - Je ne sais pas comment vérifier la présence du répertoire si je n=
e
connais pas l'entier du nom.
J'espère avoir été "claire" !!! (pas évident à expliquer)
D'avance merci à celles et ceux qui prennent le temps de m'aider.
Toute belle journée. GG
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #22659921
Salut,

gege2000 wrote:
Bonjour,
Dans une procédure automatique de création de fichiers Excel
j'aimerais tester l'existence ou non d'un répertoire dont je connais
que le début et la fin du nom (ex : C:data??-44, je connais "c:
data" et "-44" mais pas le code représenté par "??". Le code "-44"
est la clé de recherche du nom complet dans une table de
correspondance, je dois vérifier la présence de la correspondance dans
la table et ensuite le répertoire. Dans ma procédure j'enregistre les
fichiers dans ces sous-répertoires mais parfois il n'existe pas et
j'aimerais enregistrer le fichier dans un répertoire temporaire pour
éviter le blocage de la procédure.
1 - Je ne sais pas comment gérer l'erreur 3021 lors de la recherche
dans la table via une requête SQL.




l'erreur 3021 ?... c'est quoi cette recherche ?


2 - Je ne sais pas comment vérifier la présence du répertoire si je ne
connais pas l'entier du nom.



comment peux-tu chercher quelque chose que tu ne connait pas ?!?

Pour vérifier l'existance, il faut au moins savoir ce que tu cherches!
et pour vérifier l'existance d'un répertoire, un simple

if Dir("c:REP_a", vbDirectory)

fonctionne encore parfaitement...


J'espère avoir été "claire" !!! (pas évident à expliquer...)



J'espère que moi aussi, je suis "clair" ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Gloops
Le #22661251
Bonjour,

Ah oui il existe une fonction de Windows qui permet d'afficher le début
et la fin d'un chemin pour ne pas dépasser une certaine longueur.

Si le logiciel qui l'utilise pour afficher le chemin de façon abrégé e
pouvait fournir l'information de manière complète, dans un fichier lo g
par exemple, ça ne gâcherait rien.

Comme le remarque fort justement 3stone, pour trouver quelque chose on a
besoin de savoir ce qu'on cherche.


Alors, on cherche un fichier correspondant au masque "C:data??-44"

J'imagine qu'on doit bien s'en sortir avec

Nom = Dir("C:data??-44")

Là, c'est facile parce qu'il s'agit d'un fichier qui répond à un ma sque
précis.

Parfois on ne sait pas dans quel répertoire se trouve le fichier. Dans
ce cas, il faut écrire une fonction qui parcourt toute l'arborescence,
pour tester la présence d'un fichier répondant au masque dans chaque
répertoire, une fois qu'on l'a trouvé on a la réponse, si on a parc ouru
toute l'arborescence sans le trouver c'est qu'il n'existe pas. Pour
trouver un répertoire d'après la fin de son nom j'imagine que c'est
comme ça qu'il faut faire.

Reste la question de la gestion d'erreurs. En cherchant "On Error" dans
l'aide, est-ce qu'on trouve quelque chose de clair ?

A un moment c'était le cas, je sais que la qualité de la doc est asse z
variable d'une version à l'autre.
_______________________________________
gege2000 a écrit, le 08/10/2010 09:49 :
Bonjour,
Dans une procédure automatique de création de fichiers Excel
j'aimerais tester l'existence ou non d'un répertoire dont je connais
que le début et la fin du nom (ex : C:data??-44, je connais "c:
data" et "-44" mais pas le code représenté par "??". Le code "-44 "
est la clé de recherche du nom complet dans une table de
correspondance, je dois vérifier la présence de la correspondance d ans
la table et ensuite le répertoire. Dans ma procédure j'enregistre l es
fichiers dans ces sous-répertoires mais parfois il n'existe pas et
j'aimerais enregistrer le fichier dans un répertoire temporaire pour
éviter le blocage de la procédure.
1 - Je ne sais pas comment gérer l'erreur 3021 lors de la recherche
dans la table via une requête SQL.
2 - Je ne sais pas comment vérifier la présence du répertoire si je ne
connais pas l'entier du nom.
J'espère avoir été "claire" !!! (pas évident à expliquer...)
D'avance merci à celles et ceux qui prennent le temps de m'aider.
Toute belle journée. GG
Publicité
Poster une réponse
Anonyme