bonjour,

je gères les menus d'une application à partir d'une base access.

la table des item des menus comporte les attributs suivant :

- numéro d'ordre de l'item (déclaré en format texte)
- Libellé de l'item (déclaré en format texte)
- nom de la feuille associée à l'item (décalré en format texte)

en debut de programme, je stocke à partir du résultat d'une requête dans 3 tableaux dynamiques (1 par attribut de la table) l'ensemble des caractéristiques des item.

valeurs à titre d'exemple

Tabitem(1) = "1"
Tabitem(2) = "2"

TabLibel(1) = " - Choix numéro 1"
TabLibel(2) = " - Choix numéro 2"

TabFrm(1) = "Feuille1"
TabFrm(2) = "Feuille2"


J'affiche correctement, sur ma feuille principale, les numéros d'item et les libellés associés.

si l'utilisateur choisi l'item 1, je dois montrer la feuille "feuille1". (Les feuilles "feuille1", "feuille2" ... sont présentes dans le projet.)

pour cela j'ai déclaré une variable Frm

Dim Frm as Form

Set Frm = tabFrm(I) (avec I égal au choix effectué par l'utilisateur)
Frm.show

Ce code pose problème puisque je récupère une chaine et non un objet comme valeur de TabFrm(I). En déclarant le tableau TabFrm comme une 'collection' de Form, j'ai un message d'erreur 'impossible de modifier une valeur en lecture seule'

pouvez vous m'indiquer une piste de résolution

merci et meilleurs voeus à tous