Si fichier existe ... selon les X premiers caractères
Le
Roland Miller

Bonjour,
J'ai besoin de tester si un fichier débutant par XXX existe dans un r=
épertoire.
J'ai une fonction comme ci-dessous.
Le chemin et le nom du fichier dont dans la cellule L7. Dison que le chemin=
est C:DataXLLet_LC1_2019-12-31.xls.
Alors avec la formule matricielle {=SI(fichierexiste(L7);"Oui";"Non")}â=
€¦ j'obtiens oui.
Mais j'aurais besoin de vérifier si un fichier débutant par â=
€¦ C:DataXLLet_LC1_ … donc avec les X premiers caractère=
s ou ??? existe.
Cela serait-il possible en modifiant la formule et/ou la fonction?
Merci à l'avance.
'*******************************************************************
Function FichierExiste(nomfich As String) As Boolean
FichierExiste = Dir(nomfich) <> ""
End Function
J'ai besoin de tester si un fichier débutant par XXX existe dans un r=
épertoire.
J'ai une fonction comme ci-dessous.
Le chemin et le nom du fichier dont dans la cellule L7. Dison que le chemin=
est C:DataXLLet_LC1_2019-12-31.xls.
Alors avec la formule matricielle {=SI(fichierexiste(L7);"Oui";"Non")}â=
€¦ j'obtiens oui.
Mais j'aurais besoin de vérifier si un fichier débutant par â=
€¦ C:DataXLLet_LC1_ … donc avec les X premiers caractère=
s ou ??? existe.
Cela serait-il possible en modifiant la formule et/ou la fonction?
Merci à l'avance.
'*******************************************************************
Function FichierExiste(nomfich As String) As Boolean
FichierExiste = Dir(nomfich) <> ""
End Function
BOnjour
Il suffit d'ajouter le caractère générique " * " à la suite
C:DataXLLet_LC1_*
Daniel
http://dj.joss.free.fr/fichier.htm
Le 06/02/2020 à 08:35, Daniel.j a écrit :
Sans modifier la formule matricielle ?
Une petite précision cependant.
J'ao noté que ça ne fait pas de différence que ce soit ou no n une formule matricielle.
Mais que ce le soit ou non … le résultat de la formule ne se m et pas à jour automatiquement … à moins que vous puissiez me procurer un petit truc.
Car je fais le test d'aller modifier le nom du fichier dans le réperto ire … et … le résultat ne change pas … à moins que j'entre dans la cellule qui contient la formule et que je fasse e n Enter. Ce qui est peut-être normal?
Mais … si je lance par exemple ActiveSheet.Calculate … oui ça se met à jour.
Bonjour,
Modifie ta fonction personnalisée comme ceci :
'-------------------
Function FichierExiste(nomfich As String) As Boolean
Application.Volatile
FichierExiste = Dir(nomfich) <> ""
End Function
'-------------------
Une autre manière d'écrire la fonction serait :
Suppose que dans la cellule A1, tu as le chemin et le nom du fichier que
tu désires : Exemple : e:TéléchargementsCla* (Recherche un nom de
fichier débutant par cla dans le répertoire e:téléchargements
Tu pourrais ta fonction comme ceci :
'------------------------------
Function FichierExiste(Cel As Range) As Boolean
FichierExiste = Dir(Cel.Value) <> ""
End Function
'------------------------------
La fonction se met à jour dès que tu modifies le contenu de la cellule A1
MichD
Si tu décides d'utiliser cette fonction, dans la cellule recevant le
résultat, tu dois écrire : =FichierExiste(A1) A1 étant la cellule
contenant le chemin et le début du fichier.
MichD