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.
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.
BonjourEnvoyé par ThieBEN
Heu
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 ( 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 mettre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Commande0_Click() DoCmd.OpenForm "formulaire2" End Sub
A toi d'adapter avec tes noms.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL
Blog Office Mon Site DVP
Bonjour
Je viens de tester l'amélioration d'Arkham :
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager