Bonjour,
Personnellement, d'un point de vue purement de codage VBA j'utiliserai une interface (via un module de classe) que je pourrai ensuite implémenter dans les différents cas de figures. Par exemple une interface qui possède les principaux accesseur getUnite(), setUnite(), getValeur() et setValeur(), etc... Le plus pratique serrai d'utiliser les propriétés car elles sont plus simple d'utilisation.
Après je déclinerai dans une autre classe pour chaque type de base. Par exemple UniteHeure, UniteDouble, UniteLong, etc...
L'intérêt c'est que l'on peux ensuite les utiliser dans une collection d'objets(grâce à l'objet Collection) en typant la collection de l'interface. On sais que tous ces objets sont du type de l'interface unite par exemple.
De cette manière, on peux manipuler les objets quelque soit leur type. Pour retrouver un type d'objet il faut faire quelque chose dans ce genre ci :
If TypeOf monObjet Is UniteHeure Then ...
Par contre pour le stockage d'une unité dans la base de données je pense qu'il faut au moins sauvegarder le type dans un champ afin de pouvoir implémenter, au moment du chargement, le bon type d'unité en mémoire.
Cordialement,
Partager