dimud
Messages postés19Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention 3 juillet 2009
-
2 juil. 2009 à 15:19
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
3 juil. 2009 à 12:01
Bonjour,
Dans une appli excel/vba, dans une userform je liste :
1/une serie de repertoires dans une listbox
2/le contenu de chaque repertoire dans une listview ,après un clic sur un item de la listbox.
Je souhaiterais en selectionnant un item de la listview puis en cliquant sur un bouton, supprimer le fichier concerné de son repertoire.
Quelqu'un peut-il m'aider?
Merci
A voir également:
[déplacé VBS -> VB6] Supprimer un fichier à partir d'une listview
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 2 juil. 2009 à 17:38
Oup's! pardon autant pour moi je me suis un peu mélanger les pinceaux entre vb6 et .Net ^^
If Not ListView1.SelectedItem Is Nothing then
Dim Fichier As String
Fichier = ListView1.SelecedItem.Tag
KillFichier
End If
Tu peux aussi remplacer le Kill Par la méthode de zwyx comme ceci :
If Not ListView1.SelectedItem Is Nothing then
Dim Fichier As String
Fichier = ListView1.SelecedItem.Tag
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim File As Object
File = FSO.GetFile (Fichier)
File.Delete
Set File = Nothing
Set FSO = Nothing
End If
Ou encore en ajoutant le scrrun.dll aux références de ton projet
If Not ListView1.SelectedItem
Is Nothing then
Dim Fichier
As String
Fichier = ListView1.SelecedItem.Tag
Dim FSO As New FileSystemObject
Dim File As File
File = FSO.GetFile (Fichier)
File.Delete
Set File = Nothing
Set FSO = Nothing
End If
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
dimud
Messages postés19Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention 3 juillet 2009 2 juil. 2009 à 18:14
La première méthode fonctionne bien, il faut que je rajoute une verification sur l'ouverture du fichier
Sur la méthode de Zwyx, ainsi que sur la troisième méthodes, apparait un pb avec File = FSO.GetFile (Fichier)
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 2 juil. 2009 à 18:19
PS: La 3ème solution te permet d'y voir plus clair si tu n'aime pas utilisé le FileSystemObject, elle te permet de charger la référence Microsoft Scripting Runtime en mémoire dans l'IDE de Visual Basic, l'avantage c'est que les propriétés et les méthodes du FileSystemObject seront visibles depuis l'intellisense.
Biensur, ce n'est possible que depuis vb6/vba et non vbscript (Attention quand tu post d'ailleurs tu es dans la mauvaise catégorie pour toi Langages dérivés/VBA et non VBS)
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 2 juil. 2009 à 18:27
ainsi que sur la troisième méthodes, apparait un pb avec File = FSO.GetFile (Fichier) <= As tu charger le Microsoft Scripting Runtime dans les références de ton projet ???
"Ou encore en ajoutant le scrrun.dll aux références de ton projet" <= j'ai pas été très explicite... scrrun.dll c'est Microsoft Scripting Runtimedans la liste des références.
If Not ListView1.SelectedItem
Is Nothing then
Dim Fichier
As String
Fichier = ListView1.SelecedItem.Tag
Dim FSO As New FileSystemObject
Dim File As File
File = FSO.GetFile (Fichier)
File.Delete
Set File = Nothing
Set FSO = Nothing
End If
Pour gérer les erreurs tu peux faire :
On Error Goto ErrDel
If Not ListView1.SelectedItem Is Nothing then
Dim Fichier As String
Fichier = ListView1.SelecedItem.Tag
Dim FSO As New FileSystemObject
Dim File As File
File = FSO.GetFile (Fichier)
File.Delete
Set File = Nothing
Set FSO = Nothing
End If
Exit Sub
ErrDel:
Msgbox "Impossible de supprimer le fichier, celui-ci est peut être en cour d'utilisation !", vbExclamation, "Suppression Impossible"
Set File = Nothing
Set Fso = Nothing
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
dimud
Messages postés19Date d'inscriptionmardi 29 juillet 2008StatutMembreDernière intervention 3 juillet 2009 3 juil. 2009 à 09:24
Bonjour,
J'ai trouvé la cause du pb, il faut lire :
Set File = FSO.GetFile (Fichier)et non
File = FSO.GetFile (Fichier)
J'avais bien scrrun.dll dans ma bibliothèque.
Je me rapproche de la perfection, il subsiste un pb :
si dans listview j'ai plusieur lignes et que je clic sur le bouton de suppression, la première ligne disparait, même si elle n'est pas selectionnée.
Fichier = ListView1.SelecedItem.Tag correspont par defaut au nom du dernier fichier trouvé dans le repertoire et non au fait de selectionner la ligne.