Pbs de centrage de formulaire

Résolu
Signaler
Messages postés
41
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
14 décembre 2006
-
Messages postés
41
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
14 décembre 2006
-
Bonjour,

j'ai crée une petite application avec Access 2000. Celle ci ne comporte qu'un formulaire qui s'ouvre par défaut au lancement de l'application. Comme il n'est pas immense, je redimensionne la fenêtre Access (via une macro AutoExec) qui lance une fonction suivante dont la déclaration est la suivante :

Private Declare Function MoveWindow Lib "user32" _
   ( _
      ByVal hwnd As Long, _
      ByVal x As Long, _
      ByVal y As Long, _
      ByVal nWidth As Long, _
      ByVal nHeight As Long, _
      ByVal bRepaint As Long _
   ) _
   As Long

qui est lancée ainsi :

MoveWindow Application.hWndAccessApp, 100, 100, 450, 450, 1

La taille est bonne, la fenetre Access est bien placée, par contre mon formulaire n'est pas centré ! Cela malgré la propriété Auto centrer à Vrai. En fait il semble être centré par défaut au milieu de l'écran et non pas de ma fenêtre. Ce qui est bien disgracieux, l'utilisateur devant jouer des glisseurs pour se centrer et faire disparaitre ces derniers... Je ne vois pas comment faire... si quelqu'un peut m'éclairer, je suis preneur !

Merci d'avance !

9 réponses

Messages postés
41
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
14 décembre 2006

oki, ce fut long, mais j'ai finis par trouver ! En fait,
DoCmd.MoveSize m'a permis de résoudre le problème !
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Si tu redimentionne ton appli aux dimentions de ton UserForm, celle-ci ne doit plus etre centrée mais placé à 0 à gauche et 0 en haut.
Sinon forcément elle débordera à droite et en bas.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
41
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
14 décembre 2006

oki merci mais comment définit tu la position de ta form ? Via VBA à l'ouverture du formulaire j'imagine car dans les propriétés du Form (click droit) je ne trouve pas.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Dans le Form_Load de ton formulaire, il faut que tu utilise la méthode move

Me.Move 0, 0, largeur, hauteur

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
41
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
14 décembre 2006

C'est ce que j'ai tenté de faire, mais la méthode move est introuvable...
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Ben je sais pas, moi, dans le code vba, j'ai la methode move qui apparait pour l'objet Me

Je sais pas quoi te dire de plus.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
41
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
14 décembre 2006

ben je te remercie pour ton aide... même si "la recherche continue"
Messages postés
41
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
14 décembre 2006

Mmm, cela peut il venir d'un problème de références ? Je n'ai pas pu trouver move dans le cas d'un formulaire chez moi. Voici mes bibliothèques (OL pour Object Library):
VB for applications
Access 9.0 OL
OLE Automation
Ms Excel 9.0 OL
Ms Office 9.0 OL
Ms DAO 3.6 OL
Ms ActiveX 2.5
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
c'est bon tout ça.

perso jai pas excel et office et j'ai activex dataobject 2.1. mais c'est pas le problème je pense. Les forms sont gérées par vb for application je pense.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #