Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche d'un répertoire en VBA

2 réponses
Avatar
gege2000
Bonjour,
Dans une proc=E9dure automatique de cr=E9ation de fichiers Excel
j'aimerais tester l'existence ou non d'un r=E9pertoire dont je connais
que le d=E9but et la fin du nom (ex : C:\data\??-44, je connais "c:
\data\" et "-44" mais pas le code repr=E9sent=E9 par "??". Le code "-44"
est la cl=E9 de recherche du nom complet dans une table de
correspondance, je dois v=E9rifier la pr=E9sence de la correspondance dans
la table et ensuite le r=E9pertoire. Dans ma proc=E9dure j'enregistre les
fichiers dans ces sous-r=E9pertoires mais parfois il n'existe pas et
j'aimerais enregistrer le fichier dans un r=E9pertoire temporaire pour
=E9viter le blocage de la proc=E9dure.
1 - Je ne sais pas comment g=E9rer l'erreur 3021 lors de la recherche
dans la table via une requ=EAte SQL.
2 - Je ne sais pas comment v=E9rifier la pr=E9sence du r=E9pertoire si je n=
e
connais pas l'entier du nom.
J'esp=E8re avoir =E9t=E9 "claire" !!! (pas =E9vident =E0 expliquer...)
D'avance merci =E0 celles et ceux qui prennent le temps de m'aider.
Toute belle journ=E9e. GG

2 réponses

Avatar
3stone
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)
Avatar
Gloops
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