Problème : Utilisation incorrecte de la propriété

Messages postés
25
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
10 septembre 2005
- - Dernière réponse : darkeenu
Messages postés
25
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
10 septembre 2005
- 6 sept. 2005 à 13:38
Bonjour à tous...

Je travaille en ce moment sur le drag & drop de fichiers d'un explorateur vers une list_view.

Lorsque un drop est détecté sur le list_view, je sauvegarde les fichiers contenu dans le dataobject vers une liste (collection) temporaire, et j'appelle une fonction avec la list_view dans laquelle je dois placer les fichiers, et la liste (collection) des fichiers à placer.

Dès que je fais appel à ma fonction (qui ne connait aucun problème dans d'autres appels) je reçoit le message "Utilisation incorrecte de la propriété". Je voudrais savoir de quoi peut venir une telle erreur, puisque j'ai lu l'aide et qu'il parlent simplement de lecture ou d'écriture seule sur une propriété, et je ne vois pas pourquoi ça cloche lorsque je l'appelle du list_view, et pas des autres controles...

Merci de votre aide.

PS : Voici mon code :

Sub Ajouter_Fichiers(lst As ListView, Fichiers As Collection)
'Procédure qui ajoute dans lst tous les fichiers contenus dans la collection Fichiers
Dim i As Integer
Dim List_Item As ListItem
Dim fich As Scripting.File
Dim dir As Scripting.Folder
'pour chaque fichier à ajouter
For i = 1 To Fichiers.Count
'si le fichier existe
If (FSO.FileExists(Fichiers.Item(i))) Then
'si le fichier est déjà présent dans la liste
If (Fichier_Est_Dans_Liste(Fichiers.Item(i))) Then
Call Log("Fichier " & Fichiers.Item(i) & " déjà présent dans la liste")
Else
'on récupère le fichier d'index i dans la liste des fichiers à ajouter
Set fich = FSO.GetFile(Fichiers.Item(i))
'on ajoute toutes les informations concernant le fichier dans la liste des fichiers
Set List_Item = lst.ListItems.Add(, , lst.ListItems.Count)
List_Item.ListSubItems.Add , , fich.Name
List_Item.ListSubItems.Add , , fich.Path
List_Item.ListSubItems.Add , , fich.Type
List_Item.ListSubItems.Add , , Calc_Size(fich.Size)
List_Item.ListSubItems.Add , , Calc_Attributes(fich.Attributes)
List_Item.ListSubItems.Add , , fich.DateCreated
List_Item.ListSubItems.Add , , fich.DateLastAccessed
List_Item.ListSubItems.Add , , fich.DateLastModified
End If
Else
'si le répertoire existe
If (FSO.FolderExists(Fichiers.Item(i))) Then
'on récupère le dossier
Set dir = FSO.GetFolder(Fichiers.Item(i))
'si l'utilisateur souhaite ajouter les sous-dossiers
If (MsgBox("Souhaitez vous ajouter également les sous-dossiers ?", vbYesNo, "Ajouter les sous-dossiers")) Then
Call Listing_Dir(dir, True, Wd_Index.LTV_List)
Else
Call Listing_Dir(dir, False, Wd_Index.LTV_List)
End If
Else
Call Log("Fichier ou répertoire " & Fichiers.Item(i) & " inexistant")
End If
End If
Next i
End Sub

Private Sub LTV_List_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
'Lorsqu'une action de cliqué-glissé est détectée sur la liste des fichiers
Dim i As Integer
Dim Liste As Collection
'si au moins un fichier a été "cliqué-glissé"
If (Data.Files.Count > 0) Then
'on initialise la liste temporaire
Set Liste = New Collection
'pour chaque fichier de la liste
For i = 1 To Data.Files.Count
'on ajoute le fichier d'index i de la liste dans la liste temporaire
Liste.Add Data.Files.Item(i)
Next i
'C'EST ICI QUE CA PLANTE (IL ME SURLIGNE CALL AJOUTER_FICHIERS)
Call Ajouter_Fichiers(Wd_Index.LTV_List, Liste)
End If
End Sub
Afficher la suite 

2 réponses

Messages postés
1822
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
0
Merci
Violent Ken

A mon avis, au mieux de mettre "Sub Ajouter_Fichiers", mets plutot "Function Ajouter_Fichiers" et au mieux de mettre "Call Ajouter_Fichiers(Wd_Index.LTV_List, Liste)" tu mets "Ajouter_Fichiers Wd_Index.LTV_List, Liste"
Messages postés
25
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
10 septembre 2005
0
Merci
salut, je viens de tester ta solution, mais toujours le même problème.
Et en fait j'ai trouvé mon erreur, très bête d'ailleurs, y'avais un bouton que j'ai supprimé mais j'avais oublié de supprimer également son code. Et il s'appellait, je le donne dans le mille : Ajouter_Fichiers
donc c normal qu'il ait planté.
Merci de ton aide quand meme