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

Supprimer ficher *.txt sur repertoire

6 réponses
Avatar
P19
Bonjour,

Quelqu'un aurait il un code access VBA permettant de tester si, sur un
répertoire donné, il existe des fichiers de type *.TXT (par exemple) et s'il
existent, de les supprimer ?

D'avance merci
--
P19

6 réponses

Avatar
Jean-Marc
"P19" a écrit dans le message de
news:
Bonjour,

Quelqu'un aurait il un code access VBA permettant de tester si, sur un
répertoire donné, il existe des fichiers de type *.TXT (par exemple)


et s'il
existent, de les supprimer ?

D'avance merci



Hello,

comme ceci par exemple:

Private Sub Command1_Click()
Dim bRet As Boolean

' exemple d'appel
bRet = SupprimeFichierReperoire("c:tmp", ".txt")
End Sub

'----------------------------------------
' Procedure : SupprimeFichierReperoire
' DateTime : 14/02/2006 18:02
' Author : Jean-Marc
' Todo : Ajouter la gestion d'erreur
'-----------------------------------------
'
Private Function SupprimeFichierReperoire(path As String, extension As
String) As Boolean
Dim fic As String

fic = Dir$(path & "*" & extension)
Do While fic <> ""
Kill path & "" & fic
fic = Dir$
Loop
SupprimeFichierReperoire = True
End Function

Note: j'ai volontairement omis toute gestion d'erreur,
pour ne pas alourdir le post. A rajouter, donc.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Thierry
Ouai.. Mais ca risque de ne pas trop bien marché si tu passe c: ou d:
comme répertoire de base.....




"Jean-Marc" a écrit dans le message de news:
43f20e15$0$1173$
"P19" a écrit dans le message de
news:
> Bonjour,
>
> Quelqu'un aurait il un code access VBA permettant de tester si, sur un
> répertoire donné, il existe des fichiers de type *.TXT (par exemple)
et s'il
> existent, de les supprimer ?
>
> D'avance merci

Hello,

comme ceci par exemple:

Private Sub Command1_Click()
Dim bRet As Boolean

' exemple d'appel
bRet = SupprimeFichierReperoire("c:tmp", ".txt")
End Sub

'----------------------------------------
' Procedure : SupprimeFichierReperoire
' DateTime : 14/02/2006 18:02
' Author : Jean-Marc
' Todo : Ajouter la gestion d'erreur
'-----------------------------------------
'
Private Function SupprimeFichierReperoire(path As String, extension As
String) As Boolean
Dim fic As String

fic = Dir$(path & "*" & extension)
Do While fic <> ""
Kill path & "" & fic
fic = Dir$
Loop
SupprimeFichierReperoire = True
End Function

Note: j'ai volontairement omis toute gestion d'erreur,
pour ne pas alourdir le post. A rajouter, donc.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;



Avatar
Gloops
Thierry a écrit, le 14/02/2006 19:09 :

Ouai.. Mais ca risque de ne pas trop bien marché si tu passe c: ou d:
comme répertoire de base.....


_____________________________________
Comme quoi, il y en a qui suivent ...

On peut intégrer au début de la fonction quelque chose du style

path = iif(right$(path, 1) = "", Left$(path, Len(path) - 1, path)

Comme Jean-Marc a laissé la gestion d'erreurs, je fais grâce du cas où
la longueur de path est nulle, ou encore path = "" (auquel cas, faire
attention de ne pas se tromper d'unité par défaut).

Il faut vérifier si il ne reste pas une objection du même style
concernant les adresses UNC, c'est-à-dire du style serveurdomainechemin

Je n'ai pas l'impression que ça devrait poser problème, mais je n'y
guère réfléchi longtemps. Dans ce cas j'imagine qu'il doit y avoir une
solution du même style, le tout étant d'y réfléchir le temps voulu.

---
niark.fr ... vous avez déjà vu un nom de domaine pareil ?
Complètement gloops, ce mec.
Avatar
P19
Bonjour et merci pour cette réponse rapide.

Et si je souhaite m'assurer, avant de lancer la destruction, de l'existence
de ces fichier avec extension .TXT, quelle est la commande appropriée ? Mes
question vous semble peut être surprenantes mais je débute.

D'avance merci
--
P19


"Jean-Marc" a écrit :

"P19" a écrit dans le message de
news:
> Bonjour,
>
> Quelqu'un aurait il un code access VBA permettant de tester si, sur un
> répertoire donné, il existe des fichiers de type *.TXT (par exemple)
et s'il
> existent, de les supprimer ?
>
> D'avance merci

Hello,

comme ceci par exemple:

Private Sub Command1_Click()
Dim bRet As Boolean

' exemple d'appel
bRet = SupprimeFichierReperoire("c:tmp", ".txt")
End Sub

'----------------------------------------
' Procedure : SupprimeFichierReperoire
' DateTime : 14/02/2006 18:02
' Author : Jean-Marc
' Todo : Ajouter la gestion d'erreur
'-----------------------------------------
'
Private Function SupprimeFichierReperoire(path As String, extension As
String) As Boolean
Dim fic As String

fic = Dir$(path & "*" & extension)
Do While fic <> ""
Kill path & "" & fic
fic = Dir$
Loop
SupprimeFichierReperoire = True
End Function

Note: j'ai volontairement omis toute gestion d'erreur,
pour ne pas alourdir le post. A rajouter, donc.

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;




Avatar
Aski
Salutatoi P19,

Tu as donc déclaré :

Bonjour et merci pour cette réponse rapide.

Et si je souhaite m'assurer, avant de lancer la destruction, de
l'existence de ces fichier avec extension .TXT, quelle est la
commande appropriée ? Mes question vous semble peut être surprenantes
mais je débute.

D'avance merci



Par exemple, en entrant le chemin complet avec NomF

Public Function FileExists(NomF As String, Optional Alerte = True) As
Boolean
On Error GoTo Test

FileExists = True If FileLen(NomF) > 0 Then Exit Function

Test:
FileExists = False
If Alerte Then MsgBox "Fichier " & NomF & " introuvable ou endommagé",
vbCritical
End Function
Avatar
Jean-Marc
"P19" a écrit dans le message de
news:
Bonjour et merci pour cette réponse rapide.

Et si je souhaite m'assurer, avant de lancer la destruction, de


l'existence
de ces fichier avec extension .TXT, quelle est la commande appropriée


? Mes
question vous semble peut être surprenantes mais je débute.



Hello,

vouloir tester l'existence d'un fichier n'est pas surprenant en soi :-)
Ce qui l'est un peu, d'un point de vue conceptuel, c'est de vouloir
s'assurer de la présence de qq chose que tu veux de toute façon
détruire :-)

Ceci dit, la fonction telle que je l'ai proposée s'assure en fait de
l'existence du fichier avant de le détruire. C'est le sens de la boucle
avec le Dir$().

tu peux faire comme suggère Aski, ou encore qq chose du genre:

fic = Dir$(path & "*" & extension)
If fic<>"" Then
msgbox "il y a au moins un fichier portant l'extension" & ext
End If

Ou alors plus riche:


Private Sub Command1_Click()
Dim n As Long
Dim vbRet As VbMsgBoxResult
Dim rep As String
Dim ext As String
Dim bRet As Boolean

rep = "c:tmp"
ext = ".txt"
n = CompteFichierReperoire(rep, ext)
If n > 0 Then
vbRet = MsgBox("Il y a " & n & " fichier(s) d'extension " & ext
& " dans le repertoire " & rep & vbCrLf & "Voulez vous les supprimer?",
vbQuestion + vbYesNo, "Suppression")
If vbRet = vbYes Then
bRet = SupprimeFichierReperoire(rep, ext)
MsgBox "Suppression effectuée"
Else
MsgBox "Suppression annulée"
End If
Else
MsgBox "Aucun fichier " & ext & " dans le repertoire " & rep
End If
End Sub

Private Function CompteFichierReperoire(ByVal path As String, _
ByVal extension As String) As
Long
Dim fic As String
Dim nbFic As Long

fic = Dir$(path & "*" & extension)
Do While fic <> ""
nbFic = nbFic + 1
fic = Dir$
Loop
CompteFichierReperoire = nbFic
End Function



--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;