J'ai eu un problème avec les variantes "casting" d'objets définis. Au moment de l'exécution, ma variable variant est de type "Variant/Object/Listbox", que je veux définir comme une variable ListBox pour l'acheminer en tant que paramètre vers une autre fonction (GetSelected) nécessitant un objet Listbox.vba cast variant listbox/Objets
Mais j'obtiens l'erreur 13: types incompatibles sur la commande "Set lst = v".
Des idées pour le faire fonctionner?
code:
Function GetEditableControlsValues(EditableControls As Collection) As Collection
'Gibt die Werte der editierbaren Felder zurück.
Dim v As Variant
Dim coll As New Collection
Dim lst As ListBox
For Each v In EditableControls
If TypeName(v) = "ListBox" Then
Set lst = v 'Fehler 13: Typen unverträglich. v zur Laufzeit: Variant/Object/Listbox.
coll.Add GetCollectionString(GetSelected(lst))
Else
coll.Add v.Value
End If
Next
End Function
Pouvez-vous également ajouter une capture d'écran de la zone de liste? Je me demande si c'est sur un formulaire ou sur une feuille de travail. – Vityata
C'est sur un MSForm. J'ai également essayé de définir la variable d'exécution sur Control comme "Dim ctl as control" au lieu de "Dim v as variant", mais la même erreur. – BruceWayne
Comment appelez-vous la fonction et à quoi ressemble la collection de EditableControls? – Vityata