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

Effacer un fichier en vba

6 réponses
Avatar
Alri
Bonjour =E0 tous le monde,

Je recheche le code vba qui me permettrait d'effacer un fichier qui se
situe
sur le bureau

Quelqu'un peut il m'aider ?

Merci par avance

Albert

6 réponses

Avatar
FS
Bonjour,

Une méthode parmi d'autres :

'============= Sub essai()
Dim WSh, Bureau, Fichier

Set WSh = CreateObject("WScript.Shell")
Bureau = WSh.SpecialFolders("Desktop")
Fichier = "new 1.txt" 'à adapter

Kill Bureau & "" & Fichier

End Sub
'=============
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Alri a écrit :
Bonjour à tous le monde,

Je recheche le code vba qui me permettrait d'effacer un fichier qui se
situe
sur le bureau

Quelqu'un peut il m'aider ?

Merci par avance

Albert


Avatar
michdenis
Bonjour Alri,

Pour envoyer le fichier vers la poubelle de Windows :

'--------------------------------------------
Declare Function SHFileOperation Lib "shell32.dll" Alias _
"SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Boolean
hNameMappings As Long
lpszProgressTitle As String
End Type
'--------------------------------------------
Sub RecycleFile(sFile As String)
'Code de Chip Pearson
Const FO_DELETE = &H3
Const FOF_ALLOWUNDO = &H40
Dim FileOperation As SHFILEOPSTRUCT
Dim lReturn As Long
Dim sFileName As String

With FileOperation
.wFunc = FO_DELETE
.pFrom = sFile
.fFlags = FOF_ALLOWUNDO
End With
lReturn = SHFileOperation(FileOperation)
End Sub
'--------------------------------------------

Sub Test()
Dim Fichier As String
Fichier = Environ("HOMEPATH") & "Destop" & "MonFichier.xls"
RecycleFile Fichier
End Sub
'--------------------------------------------

Si tu veux supprimer totalement le fichier sans pouvoir le restituer si nécessaire :
Ceci est suffisant :
'-----------------------------------
Sub Test()
Dim Fichier As String
Fichier = Environ("HOMEPATH") & "Destop" & "MonFichier.xls"
Kill Fichier
End Sub
'-----------------------------------
Avatar
Alri
On 25 sep, 15:06, "michdenis" wrote:
Bonjour Alri,

Pour envoyer le fichier vers la poubelle de Windows :

'--------------------------------------------
Declare Function SHFileOperation Lib "shell32.dll" Alias _
  "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Type SHFILEOPSTRUCT
    hwnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Boolean
    hNameMappings As Long
    lpszProgressTitle As String
End Type
'--------------------------------------------
Sub RecycleFile(sFile As String)
'Code de Chip Pearson
Const FO_DELETE = &H3
Const FOF_ALLOWUNDO = &H40
Dim FileOperation As SHFILEOPSTRUCT
Dim lReturn As Long
Dim sFileName As String

  With FileOperation
    .wFunc = FO_DELETE
    .pFrom = sFile
    .fFlags = FOF_ALLOWUNDO
  End With
  lReturn = SHFileOperation(FileOperation)
End Sub
'--------------------------------------------

Sub Test()
Dim Fichier As String
Fichier = Environ("HOMEPATH") & "Destop" & "MonFichier.xls"
RecycleFile  Fichier
End Sub
'--------------------------------------------

Si tu veux supprimer totalement le fichier sans pouvoir le restituer si n écessaire :
Ceci est suffisant :
'-----------------------------------
Sub Test()
Dim Fichier As String
Fichier = Environ("HOMEPATH") & "Destop" & "MonFichier.xls"
Kill  Fichier
End Sub
'-----------------------------------



Merci Michdenis,

juste la traduction de => Environ("HOMEPATH")

Albert
Avatar
Alri
On 25 sep, 14:46, FS wrote:
Bonjour,

Une méthode parmi d'autres :

'==============
Sub essai()
Dim WSh, Bureau, Fichier

   Set WSh = CreateObject("WScript.Shell")
   Bureau = WSh.SpecialFolders("Desktop")
   Fichier = "new 1.txt" 'à adapter

   Kill Bureau & "" & Fichier

End Sub
'==============

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :http://frederic.sigonneau.free.fr/

Alri a écrit :



> Bonjour à tous le monde,

> Je recheche le code vba qui me permettrait d'effacer un fichier qui se
> situe
> sur le bureau

> Quelqu'un peut il m'aider ?

> Merci par avance

> Albert- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Merci Frédéric,

Peux tu m'expliquer :
("WScript.Shell")
et .SpecialFolders("Desktop")

merci
Avatar
michdenis
| juste la traduction de => Environ("HOMEPATH")

Environ("HOMEPATH") = Chemin de la maison

;-)

"Environ" fait partie des méthodes de la bibliothèque VBA
La méthode Environ() contient plusieurs constantes que tu
peux afficher en utilisant la macro suivante.

HOMEPATH est si tu veux une constante qui est défini au
niveau du registre de Windows. La lecture de la valeur de la
"constante" que tu utilises avec "Environ()" est lue directement
à partir de la base de registre de Windows.

'-------------------------------
Sub test()
Dim A As Integer
For A = 1 To 75
Range("A" & A) = VBA.Environ(A)
Next
End Sub
'-------------------------------
Avatar
FS
> Peux tu m'expliquer :


> ("WScript.Shell")
> et .SpecialFolders("Desktop")

Il existe des explications "toutes faites" et +tôt bien faites sur ce
sujet :

sur l'objet WScript
http://www.commentcamarche.net/contents/vbscript/vbs-wscript.php3

sur l'accès aux dossiers spéciaux de Windows
http://www.commentcamarche.net/contents/vbscript/vbs-wshshell.php3

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Alri a écrit :
On 25 sep, 14:46, FS wrote:
Bonjour,

Une méthode parmi d'autres :

'============= >> Sub essai()
Dim WSh, Bureau, Fichier

Set WSh = CreateObject("WScript.Shell")
Bureau = WSh.SpecialFolders("Desktop")
Fichier = "new 1.txt" 'à adapter

Kill Bureau & "" & Fichier

End Sub
'============= >>
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :http://frederic.sigonneau.free.fr/

Alri a écrit :



Bonjour à tous le monde,
Je recheche le code vba qui me permettrait d'effacer un fichier qui se
situe
sur le bureau
Quelqu'un peut il m'aider ?
Merci par avance
Albert- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Merci Frédéric,

Peux tu m'expliquer :
("WScript.Shell")
et .SpecialFolders("Desktop")

merci