Bonjour à tous,
Quelqu'un à t-il une idée ou du code pour pouvoir ouvrir un formulaire en dessous d'un contôle style calendrier, calculatrice etc...
Merci de votre aide car je ne trouve rien.
Version imprimable
Bonjour à tous,
Quelqu'un à t-il une idée ou du code pour pouvoir ouvrir un formulaire en dessous d'un contôle style calendrier, calculatrice etc...
Merci de votre aide car je ne trouve rien.
BonjourCitation:
Envoyé par ThieBEN
Heu :koi:
Je ne vois pas ce que tu veux faire, car sous un contrôle il y'a le contenant de ce contrôle (un formulaire), et si je lis bien tu veux placer un formulaire entre le contrôle et le formulaire contenant ?
Soit plus clair, car là je ne comprends rien.
Starec
Excuse pour le flou : En fait j'ai une zone de texte saisie et un bouton de cmd ce que je souhaite c'est quand je clique sur le bouton de cmd mon petit formulaire s'ouvre juste en dessous ou juste à côté de ma zone de texte et non de façon aléatoire.
Re
C'est mieux, je n'ai jamais fait, mais une petite idée à tester :
1 - Le formulaire a des propriétés TOP et LEFT qui le positionne dans la fenête Access.
2 - Un contrôle a des propriétés identiques.
En jouant sur la somme TOP Form et TOP contrôle + hauteur contrôle (Height) pour la hauteur, et LEFT Form et LEFT contrôle + largeur contrôle (Weight) tu devrais avoir l'info que tu mets dans deux variables publiques
Ensuite sur le LOAD de ton formulaire que tu dois positionner, tu utilises : DoCmd.MoveSize (:f1: pour la syntaxe), et dedans tu mets tes deux variables.
Une idée à tester.
Starec
Tu peux traduire s'il te plait car je ne comprends rien. Je suis pas encore un expert access.
Re
Voici un petit bout de code que je t'ai fait en vitesse
1 - Création de deux formulaires : Formulaire 1 et Formulaire 2
2 - Sur le formulaire 1 placé un bouton : Commande0
3 - Sur le click de ce boution mettre
3 - Sur le load du feuxième formulaire mettreCode:
1
2
3 Private Sub Commande0_Click() DoCmd.OpenForm "formulaire2" End Sub
A toi d'adapter avec tes noms.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub Form_Load() Dim lngTopForm1 As Long Dim lngLeftForm1 As Long Dim lngTopBtn As Long Dim lngLeftBtn As Long Dim lngHeightBtn As Long Dim lngWidthBtn As Long lngTopForm1 = Forms("Formulaire1").WindowTop ' position de la form 1 par rapport au haut lngLeftForm1 = Forms("Formulaire1").WindowLeft ' position de la form 1 par rapport à la gauce lngTopBtn = Forms("Formulaire1").Commande0.Top ' position du bouton dans form1 lngLeftBtn = Forms("Formulaire1").Commande0.Left ' position du bouton dans form1 lngHeightBtn = Forms("Formulaire1").Commande0.Height ' hauteur du bouton lngWidthBtn = Forms("Formulaire1").Commande0.Width ' largeur du bouton DoCmd.MoveSize lngLeftForm1 + lngLeftBtn + lngWidthBtn, lngTopForm1 + lngTopBtn + lngHeightBtn ' positionnement de la fenêtre End Sub
Starec
Merci pour ton aide ça marche, mais en mode continu du formulaire 1 le formulaire 2 s'ouvre toujour au même endroit. Je pensais qu'il suivait le bouton de commande ou la zone de texte de saisie.
Si tu as une autre idée je te remercie.
Bonjour,
Il faut utiliser CurrentSectionLeft et CurrentSectionTop au moment du click pour connaître la position exacte du bouton.
J'ai adapté le code de Starec mais j'ai pas Access sur moi, donc pas testé.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub Form_Load() Dim lngTopForm1 As Long Dim lngLeftForm1 As Long Dim lngTopBtn As Long Dim lngLeftBtn As Long Dim lngHeightBtn As Long Dim lngWidthBtn As Long lngTopForm1 = Forms("Formulaire1").WindowTop ' position de la form 1 par rapport au haut lngLeftForm1 = Forms("Formulaire1").WindowLeft ' position de la form 1 par rapport à la gauce lngTopBtn = Forms("Formulaire1").Commande0.Top + Forms("Formulaire1").CurrentSectionTop ' position du bouton dans form1 lngLeftBtn = Forms("Formulaire1").Commande0.Left + Forms("Formulaire1").CurrentSectionLeft ' position du bouton dans form1 lngHeightBtn = Forms("Formulaire1").Commande0.Height ' hauteur du bouton lngWidthBtn = Forms("Formulaire1").Commande0.Width ' largeur du bouton DoCmd.MoveSize lngLeftForm1 + lngLeftBtn + lngWidthBtn, lngTopForm1 + lngTopBtn + lngHeightBtn ' positionnement de la fenêtre End Sub
Bonjour
Je viens de tester l'amélioration d'Arkham : :king:
J'ai donc un formulaire en mode continu, avec un bouton (qui revient donc à chaque enregistrement), et en cliquant sur ce bouton, le deuxième formulaire vient ce positionner sous ce bouton.
Starec
Bonjour, Merci à Starec et Arkham c'est tout à fait ce que je voulais, ce forum est vraiment très bien encore merci à vous deux.
ThieBEN