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

comment récupérer le nom d'un fichier zip ????

4 réponses
Avatar
tostaky77
bonjour,

(Sous access), je cherche à récupérer un fichier dont le nom change tout les
jours pour le déplacer vers un autre dossier ( n'ayant pas trouver de
fonction permettant de déplacer , je vais donc m'orienter vers une copie+
suppression de l'original, toutefois si vous connaissez une fonction
permettant de réaliser cette opération en 1 seule fois je suis preneur).

la fonction filecopy ne travaillant que sur un nom de fichier "complet", je
me vois donc dans l'obligation de balayer le dossier source afin de
recuperer le nom du fichier pour le passer en paramètre par la suite
et je bute sur la 1ère étape.


Mon pb est que mon fichier est un fichier zip, et j'arrive pas à identifier
cette extension avec la fonction bien connue que l'on trouve aux 4 coins du
net.
(tout se passe comme si la macro ne voit pas le fichier).
Si je cherche un fichier word ok, ca marche, dés que je passe à "*.zip",
niet, idem si *.*

Une idée ??? merci par avance

Sub rechercher()

NomDuChemin = "c:\source"
NomDuFichier = "*.zip*" ' si je mets *.* ou *.zip* marche pas si je
mets *.doc* OK
Sous_répertoires = False
On Error Resume Next
Dim I As Long
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
.MatchTextExactly = True
' .FileType = msoFileTypeAllFiles
If .Execute > 0 Then
For I = 1 To .FoundFiles.Count
MsgBox .FoundFiles(I)

Next I
End If
End With
End Sub

4 réponses

Avatar
mouly
"tostaky77" écrivait
news:41a86c71$0$19802$:

bonjour,


la fonction filecopy ne travaillant que sur un nom de fichier
"complet", je me vois donc dans l'obligation de balayer le dossier
source afin de recuperer le nom du fichier pour le passer en
paramètre par la suite et je bute sur la 1ère étape.




pour lister les fichiers, regarde la fonction Dir

copier coller de la doc vb sous access 2003 :

Renvoie une valeur de type String représentant le nom d'un fichier, d'un
répertoire ou d'un dossier correspondant à une chaîne de recherche, à un
attribut de fichier ou au nom de volume d'un lecteur.

Syntaxe

Dir[(pathname[, attributes])]

La fonction Dir renvoie le premier nom de fichier correspondant à
l'argument pathname. Pour extraire d'autres noms de fichier correspondant
à l'argument pathname, appelez de nouveau la fonction Dir sans préciser
d'arguments. Quand tous les fichiers ont été indiqués, la fonction Dir
renvoie une chaîne de longueur nulle ("").




--
mouly
mouly2 at yahoo dot com

Avatar
mouly
"tostaky77" écrivait
news:41a86c71$0$19802$:

bonjour,

(Sous access), je cherche à récupérer un fichier dont le nom change
tout les jours pour le déplacer vers un autre dossier ( n'ayant pas
trouver de fonction permettant de déplacer , je vais donc m'orienter
vers une copie+ suppression de l'original, toutefois si vous
connaissez une fonction permettant de réaliser cette opération en 1
seule fois je suis preneur).




pour deplacer un fichier sur le meme lecteur utilise la fonction Name

copier coller de la doc vb sous access 2003 :

Renomme un fichier, un répertoire ou un dossier sur un disque.

Syntaxe

Name oldpathname As newpathname

La syntaxe de l'instruction Name comprend les éléments suivants :

Élément Description
oldpathname Expression de chaîne indiquant le nom et le chemin du
fichier. Cet argument peut contenir le répertoire ou dossier et le
lecteur.
newpathname Expression de chaîne indiquant les nouveaux nom et chemin du
fichier. Cet argument peut préciser le répertoire ou le dossier et le
lecteur. Le nom de fichier indiqué dans l'argument newpathname ne peut
pas correspondre à un fichier existant.

Remarques

L'instruction Name renomme un fichier et le déplace le cas échéant vers
un nouveau répertoire ou dossier. Elle permet aussi de déplacer un
fichier d'un lecteur à un autre, mais elle ne peut renommer un dossier
existant que si les arguments newpathname et oldpathname concernent le
même lecteur. L'instruction Name ne permet pas de créer un nouveau
fichier ou dossier.


--
mouly
mouly2 at yahoo dot com

Avatar
Daniel Carollo
Bonsoir Tostaky!

Vous etes en train de faire d'un petit probleme un grosse montagne. Voyez
plutot l'aide en ligne sur la fonction dir(), surtout si vous limitez votre
recherche a un repertoire.

Une ligne toute simple vous donne le nom du fichier qui correspond a votre
recherche:
NomFichier = Dir(NomDuChemin & "*.zip")
CheminCompletDuFichier = NomDuChemin & NomFichier
en supposant que le nom du chemin se termine avec un ""

Il est ensuite facile de boucler sur le dir pour trouver _tous_ les fichiers
.zip dans le repertoire...

Bonne continuation,

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"tostaky77" wrote in message
news:41a86c71$0$19802$
bonjour,

(Sous access), je cherche à récupérer un fichier dont le nom change tout
les

jours pour le déplacer vers un autre dossier ( n'ayant pas trouver de
fonction permettant de déplacer , je vais donc m'orienter vers une copie+
suppression de l'original, toutefois si vous connaissez une fonction
permettant de réaliser cette opération en 1 seule fois je suis preneur).

la fonction filecopy ne travaillant que sur un nom de fichier "complet",
je

me vois donc dans l'obligation de balayer le dossier source afin de
recuperer le nom du fichier pour le passer en paramètre par la suite
et je bute sur la 1ère étape.


Mon pb est que mon fichier est un fichier zip, et j'arrive pas à
identifier

cette extension avec la fonction bien connue que l'on trouve aux 4 coins
du

net.
(tout se passe comme si la macro ne voit pas le fichier).
Si je cherche un fichier word ok, ca marche, dés que je passe à "*.zip",
niet, idem si *.*

Une idée ??? merci par avance

Sub rechercher()

NomDuChemin = "c:source"
NomDuFichier = "*.zip*" ' si je mets *.* ou *.zip* marche pas si
je

mets *.doc* OK
Sous_répertoires = False
On Error Resume Next
Dim I As Long
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
.MatchTextExactly = True
' .FileType = msoFileTypeAllFiles
If .Execute > 0 Then
For I = 1 To .FoundFiles.Count
MsgBox .FoundFiles(I)

Next I
End If
End With
End Sub




Avatar
tostaky77
Merci à vous 2.
ca marche.
La prochaine fois je regarderais la doc + attentivement.


"Daniel Carollo" a écrit dans le
message de news:
Bonsoir Tostaky!

Vous etes en train de faire d'un petit probleme un grosse montagne. Voyez
plutot l'aide en ligne sur la fonction dir(), surtout si vous limitez
votre

recherche a un repertoire.

Une ligne toute simple vous donne le nom du fichier qui correspond a votre
recherche:
NomFichier = Dir(NomDuChemin & "*.zip")
CheminCompletDuFichier = NomDuChemin & NomFichier
en supposant que le nom du chemin se termine avec un ""

Il est ensuite facile de boucler sur le dir pour trouver _tous_ les
fichiers

.zip dans le repertoire...

Bonne continuation,

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"tostaky77" wrote in message
news:41a86c71$0$19802$
bonjour,

(Sous access), je cherche à récupérer un fichier dont le nom change tout
les

jours pour le déplacer vers un autre dossier ( n'ayant pas trouver de
fonction permettant de déplacer , je vais donc m'orienter vers une
copie+


suppression de l'original, toutefois si vous connaissez une fonction
permettant de réaliser cette opération en 1 seule fois je suis preneur).

la fonction filecopy ne travaillant que sur un nom de fichier "complet",
je

me vois donc dans l'obligation de balayer le dossier source afin de
recuperer le nom du fichier pour le passer en paramètre par la suite
et je bute sur la 1ère étape.


Mon pb est que mon fichier est un fichier zip, et j'arrive pas à
identifier

cette extension avec la fonction bien connue que l'on trouve aux 4 coins
du

net.
(tout se passe comme si la macro ne voit pas le fichier).
Si je cherche un fichier word ok, ca marche, dés que je passe à "*.zip",
niet, idem si *.*

Une idée ??? merci par avance

Sub rechercher()

NomDuChemin = "c:source"
NomDuFichier = "*.zip*" ' si je mets *.* ou *.zip* marche pas si
je

mets *.doc* OK
Sous_répertoires = False
On Error Resume Next
Dim I As Long
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
.MatchTextExactly = True
' .FileType = msoFileTypeAllFiles
If .Execute > 0 Then
For I = 1 To .FoundFiles.Count
MsgBox .FoundFiles(I)

Next I
End If
End With
End Sub