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

cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006 - 20 juin 2005 à 11:45
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 déc. 2007 à 16:39
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
patbl Messages postés 83 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 19 mai 2010
10 déc. 2007 à 12:17
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 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 déc. 2007 à 10:17
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
10 déc. 2007 à 10:06
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
cs_SamSe Messages postés 7 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 14 avril 2018
20 juil. 2007 à 16:32
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?
cs_SamSe Messages postés 7 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 14 avril 2018
20 juil. 2007 à 16:20
Salut

Faut il activer une librairie ou quelque chose du genre dans l'éditeur VBA pour pouvoir executer ce code?
speed2006 Messages postés 2 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 10 avril 2006
10 avril 2006 à 16:33
Bon, j'ai déjà trouvé.
en fait il faut utiliser "like"
:P
speed2006 Messages postés 2 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 10 avril 2006
10 avril 2006 à 16:00
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
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
22 juin 2005 à 16:53
Merci pour l'info...
Je n'en avais jamais entendu parler ( je débute.... ) ;)
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
20 juin 2005 à 20:16
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éé.
cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006
20 juin 2005 à 11:45
kill "C:\Dossier\*.txt" est aussi rapide ;)
+
Rejoignez-nous