Bonjour,

Je crée un formulaire dynamique, et j'aimerais qu'en cliquant sur un control de type 'acLabel', un autre formulaire s'ouvre. J'ai donc écrit une fonction pour créer ce second formulaire. Jusque là, aucun problème. Or quand je clique sur ce label, le formulaire se crée mais ne s'ouvre pas (il reste en petit dans un coin de l'écran), tandis que si j'affecte cette même fonction à la propriété 'onclick' d'un commandbutton, la page s'ouvre tout à fait normalement ! (alors que le code de la fonction est rigoureusement le même).

Pourquoi access réagit-il comme ca? Comment le forcer à m'afficher ce second formulaire comme je le souhaite?

J'écris ci-dessous des bouts de code que j'utilise:

Pour les labels sur lesquels l'utilisateur clique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Set ctr_BB(compteur) = CreateControl(frm.Name, acLabel, , "", "", gauche * 10 + (i - 1) * (largeur + decal_gauche), decal_haut * j + (hauteur) * (j - 1), largeur, hauteur)
ctr_BB(compteur).BackStyle = 1
ctr_BB(compteur).TextAlign = 2
ctr_BB(compteur).Name = "BB_" & j & "_" & mois & "_" & annee
ctr_BB(compteur).OnClick = "=Formulaire_detail(" & mois & "," & annee & ", 1)"
Pour la création du formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Public Function Formulaire_detail(mois As Long, annee As Long, choix As Long)
 
Dim frm As Form
 
Set frm = CreateForm()
frm.Section(0).BackColor = RGB(220, 220, 220)
 
DoCmd.OpenForm frm.Name, acNormal
DoCmd.MoveSize 0, 5000, 8000, 5000
 
End Function
Merci beaucoup de votre aide,

GL