SUPPRIMER UN FICHIER OU UNE CATEGORIE DE FICHIERS DANS UN REPERTOIRE.
cs_Stephane
Messages postés550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006
-
20 juin 2005 à 11:45
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 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.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és83Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention19 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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és83Date d'inscriptionmardi 25 septembre 2007StatutMembreDernière intervention19 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és7Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention14 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és7Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention14 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és2Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention10 avril 2006 10 avril 2006 à 16:33
Bon, j'ai déjà trouvé.
en fait il faut utiliser "like"
:P
speed2006
Messages postés2Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention10 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és248Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention15 mars 200733 22 juin 2005 à 16:53
Merci pour l'info...
Je n'en avais jamais entendu parler ( je débute.... ) ;)
thierrydelepine
Messages postés521Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention11 septembre 20086 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és550Date d'inscriptionvendredi 5 janvier 2001StatutMembreDernière intervention23 septembre 2006 20 juin 2005 à 11:45
10 déc. 2007 à 16:39
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
10 déc. 2007 à 12:17
cela detruit ton fichier a une date donnee et cela est vraiment bien pour le reste je ne sais pas je suis novice
10 déc. 2007 à 10:17
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 ?
10 déc. 2007 à 10:06
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
20 juil. 2007 à 16:32
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?
20 juil. 2007 à 16:20
Faut il activer une librairie ou quelque chose du genre dans l'éditeur VBA pour pouvoir executer ce code?
10 avril 2006 à 16:33
en fait il faut utiliser "like"
:P
10 avril 2006 à 16:00
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
22 juin 2005 à 16:53
Je n'en avais jamais entendu parler ( je débute.... ) ;)
20 juin 2005 à 20:16
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éé.
20 juin 2005 à 11:45
+