XL 2013 VBA : Enum en argument

dionys0s

XLDnaute Impliqué
Bonjour le forum,

J'ai essayé de passer un Enum en argument de fonction, et ce n'est manifestement pas possible.
En gros voici ce que j'ai tenté :

VB:
Enum MonEnum
  Item1
  Item2
End Enum

Sub Appel()

  Dim Var As Variant

  Var = EnumEnArgument(MonEnum)

End Sub

Public Function EnumEnArgument(UnEnum As Variant) As Variant

End Function

Et j'ai le message d'erreur de compilation "Variable ou procédure attendue, et non un type Enum".

Y a-t-il un moyen détourné de passer un type Enum en argument ?

D'avance merci pour votre aide.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
D'une façon générale il n'est pas possible de transmettre en paramètre des types de données, seulement des variables ou expressions d'un certain type.

Comme ça, par exemple :
VB:
Option Explicit

Enum MonEnum
  Item1
  Item2
End Enum

Sub Appel()
  Dim Var As Byte
  Var = EnumEnArgument(Item1)
  MsgBox Var
End Sub

Public Function EnumEnArgument(ByVal X As MonEnum) As Byte
EnumEnArgument = X
End Function
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
277
Réponses
12
Affichages
284

Statistiques des forums

Discussions
312 389
Messages
2 087 927
Membres
103 676
dernier inscrit
Haiti