SUPPRIMER UN FICHIER OU UNE CATEGORIE DE FICHIERS DANS UN REPERTOIRE.

Messages postés
551
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006
- - Dernière réponse : Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
- 10 déc. 2007 à 16:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32173-supprimer-un-fichier-ou-une-categorie-de-fichiers-dans-un-repertoire

cs_Stephane
Messages postés
551
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006
-
kill "C:\Dossier\*.txt" est aussi rapide ;)
+
thierrydelepine
Messages postés
521
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
11 septembre 2008
4 -
Une autre remarque,
lors que l'on créé des objets, il faut les detruire. et oui !

Set objFSO = CreateObject("Scripting.FileSystemObject")
...
...
Set objFSO = Nothing

car si je met ton code dans une fonction et que dans mon programme je l'appel un nombre important de fois et bien cela va exploser la memoire tu PC.Donc il faut toujours penser a detruire les objets que l'on créé.
tekila_bandita
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
6 -
Merci pour l'info...
Je n'en avais jamais entendu parler ( je débute.... ) ;)
speed2006
Messages postés
2
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
10 avril 2006
-
peut etre un peu en retard...
j'aimerais savoir, pour la suppression d'un onglet,
comment peut-on supprimer les onglets dont leur nom commence par "Final"?

J'ai essayé:

If ActiveWorkbook.Sheets(i).Name <> "Final *" Then
SendKeys ("{ENTER}")
activeWorkbook.Sheets(i).Delete
end if

mais il marche pas..
à la place de "Final *",j'ai essayé aussi:
"Final"+chr(42);
"Final"+"*"...
il n'y a aucun qui marche

Merci d'avance
speed2006
Messages postés
2
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
10 avril 2006
-
Bon, j'ai déjà trouvé.
en fait il faut utiliser "like"
:P
cs_SamSe
Messages postés
7
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
14 avril 2018
-
Salut

Faut il activer une librairie ou quelque chose du genre dans l'éditeur VBA pour pouvoir executer ce code?
cs_SamSe
Messages postés
7
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
14 avril 2018
-
Réponse à ma propre question: oui c'est Mircosoft Scripting Runtime.
Ca se fait dans Outils >Références.

Et puis pour faire fonctionner ce code j'ai du aussi ajouter une ligne:
Dim objFSO As Scripting.FileSystemObject

Avez vous eu besoin de l'écrire aussi?
patbl
Messages postés
83
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2010
-
bonjour une petit code pour détruire un fichier excel ou autre
rivate Sub Form_Load()

Dim Mydate As Date

Mydate = #12/31/2030#
MsgBox " Validité jusqu'au 31/12/2030"
If Mydate = Format(Date, "DD/MM/YYYY") Then
Dim FName As String
Dim Ndx As Integer
With ThisWorkbook
.Save
For Ndx = 1 To Application.RecentFiles.Count
If Application.RecentFiles(Ndx).Path = .FullName Then
Application.RecentFiles(Ndx).Delete
Exit For
End If
Next Ndx
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close SaveChanges:=False
End With
End If
End Sub
en lui inserant une date cela fonctionne vraiment et vous pouver emporter vos fichier il seront detruit a une dtefixe de votre choix
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
je ne comprend pas cette ligne de code :
If Mydate = Format(Date, "DD/MM/YYYY") Then

quel interet de passer Date en String, au risque de ne pas faire coïncider les parametres regionnaux ?
patbl
Messages postés
83
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2010
-
en faite
cela detruit ton fichier a une date donnee et cela est vraiment bien pour le reste je ne sais pas je suis novice
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
tu n'a pas décelé mon ironie...
j'ai bien compris l'intention, reste que ta ligne de code est incorrecte.

Mydate = #12/31/2030#
If Mydate = Format(Date, "DD/MM/YYYY") Then

Sur un poste avec les regional settings qui vont bien, nous aurons par exemple l'équivalent de:
If "31/12/2030" = "10/12/2007" Then

test OK...

mais si je change, dans le panneau de configuration mes regional settings, j'obtiens facilement :

If "31/12/2030" = "31.12.2030" Then
ou
If "31/12/2030" = "12/31/2030" Then

en réalité, ton Format$ rend la chose trop minimaliste...

contentes toi simplement de :

Mydate = #12/31/2030#
If Mydate = Date Then

et zou! plus de conversion String<>Date, un simple test d'egalité.

pas de soucis avec l'heure, Date, a la difference de Now() n'inclut pas l'heure