Macro qui efface fichiers ds un répertoire

G

Gilles 28

Guest
Bonsoir à tous et à toutes,
Je cherche une petite macro qui me permette de vider la corbeille de mon disque dur C et ensuite que cette macro vide TOUS les fichiers ce trouvant dans le répertoire C:\\_Travail.
Ces fichiers peuvent etre en lecture seule ou non mais tous doivent aller dans la corbeille qui vient d'etre vider.
Merci d'avance.
Gilles
 

JCGL

XLDnaute Barbatruc
Re,

Prends l'habitude de commencer tes codes par

Option Explicit.

Tu avais mis la macro du CommandButton dans Thisworkbooks au lieu de Feuil1... [file name=Gille28.zip size=18666]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Gille28.zip[/file]
 
Dernière édition:
G

gilles28

Guest
Bon je te remercie encore une fois

Je vais essayer de modifier ma macro afin de la faire fonctionner aussi.
Mais y'a un truc que je ne comprends pas c'est comment fait-on pour acceder a ton code dans le fichier que tu as posté?
Parce qu'il faut que la recupère absolument. Tout ceci est pour avoir cette macro sous Solidworks (logiciel de dessin 3D) je sais pas si tu connais.

Merci

Gilles
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Gilles, JCGL, Yeahou, le Forum

Je ne pense pas que mon ami Yeahou en voudra à qui que ce soit du moment qu'on ne s'attribue pas son travail en 'oubliant' de préciser qui est l'auteur.

Pour ce problème, c'est vraiment très simple, nul besoin de mettre non plus dans un Private Module de 'ThisWorkBook' comme proposé par JCGL ou dans un Private Module de Feuille comme tu as fait Gilles...

Le Code de Yeahou était tout simplement prévu pour être placé dans un Module Standard ('Module1') qui sera Public par défaut (si on ne précise pas 'Option Private Module'...)

Je ne conseille pas vraiment aux débutants de se lancer avec des déclarations de Variables ou de Constantes Privées au Module Privé dans lequel elle aura été déclarée...

Mon conseil pour démarrer en VBA c'est de préciser simplement ce genre de Variables ou Constantes : 'Globales Publiques' pour l'ensemble d'un Projet dans un Module Standard que l'on prendra soin de Nommer 'Commun' (par exemple...)

L'avantage évident sera la maintenance des Chemins mis en constantes publiques pour tout le projet et pas une constante par Module Privé (que l'on finira forcéement par oublier)

Donc je récapitule :

Dans ton Private Module de 'Feuil1' :

Private Sub CommandButton1_Click()
    Sauvegarde
End Sub


Dans un Module Standard :

Option Explicit

'De Yeahou sur XLD
'http://www.excel-downloads.com/forums/2-120984-macro-qui-efface-fichiers-ds-un-repertoire.htm

Public Const Rep_Travail = 'c:\travail\'
Public Const Rep_Sauve = 'c:\sauve\'

Sub Sauvegarde()
Dim Nom_Fichier As String
Dim Compteur As Integer
Dim Objet_Fichier, Fichier As Variant
   
   
With Application.FileSearch
        .LookIn = Rep_Sauve
        .Filename = '*.*'
   
   
           
If .Execute > 0 Then
               
Set Objet_Fichier = CreateObject('Scripting.FileSystemObject')
                   
For Compteur = 1 To .FoundFiles.Count
                       
Set Fichier = Objet_Fichier.GetFile(.FoundFiles(Compteur))
                       
If Fichier.Attributes And 1 Then Fichier.Attributes = Fichier.Attributes - 1
                        Fichier.Delete
                   
Next Compteur
           
End If
       
Do
            Nom_Fichier = Dir(Rep_Travail & '*.*', vbNormal)
       
       
If Not (Nom_Fichier = '') Then Name Rep_Travail & Nom_Fichier As Rep_Sauve & Nom_Fichier
       
Loop Until Nom_Fichier = ''
   
End With
End Sub

Bonne Soirée à tous
[ol]@+Thierry[/ol]


PS je ne connais pas 'SolidWorks' et je n'ai aucune idée si il est compatible avec des codes VB...


NB même avec le tag HTML ' & # 9 2 ; ' les anti-slash passent plus...

Code:
Public Const Rep_Travail = 'c:\\travail\\'
Public Const Rep_Sauve = 'c:\\sauve\\'
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour à tous, salut thierry ;)

désolé de n'avoir pu répondre mais j'étais de sortie ce soir, je ne reste pas connecté en permanence.
En apparté, je trouve tout à fait normal et même trés sain que d'autres poursuivent des fils quand je suis déconnecté. Si je ne désirais pas que mes codes soient utilisés, modifiés, améliorés (car la perfection n'est pas de ce monde à part les codes de Ti qui doit donc être un extraterrestre) je ne les mettrais pas sur XLD. Tout cela pour dire qu'il ne faut pas avoir peur d'intervenir dans un fil, plus il y aura d'échanges, mieux ce sera.

Bien cordialement à tous
 
G

Gilles28

Guest
Je remercie toutes les personnes qui on participe à la creation de mon code.
Je l'ai un peu modifié j'ai rajouté une boite de confirmation (on ne sait jamais une fausse manip peut vite survenir surtout lorsque que l'on voit le nb d'icone sous Solidworks)
Prochaine étape integrer ceci ds SW. Il fonctionne en VB aussi mais on ne sait jamais.
Je joint mon fichier au cas ou des personnes seraient interessees.
@+ Gilles [file name=Effacemod.zip size=11986]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Effacemod.zip[/file]
 

Pièces jointes

  • Effacemod.zip
    11.7 KB · Affichages: 20

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 084
dernier inscrit
lca.pertus