Les mémos

Fermer Tables

Fermer Requêtes

Fermer Formulaires

Fermer Etats

Fermer Modules

Fermer Base

Fermer Automation

Fermer Administration

Fermer Registre

Fermer String

Fermer Email CDO

Fermer Outlook

Fermer Net

Fermer Dates - Heures

Fermer Fichiers

Fermer Références

Fermer Vrac

Recherche



Je débute...

Fermer La normalisation

Fermer VBA

Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
Captcha
Recopier le code :
Attention
Aucun support
par émail !

Utilisez le forum pour les questions/réponses concernant MsAccess et les codes que vous trouverez sur ce site.
Au sujet de l'auteur
L'auteur qui fréquente (fréquentait) le forum microsoft.public.fr.access a eu le plaisir d'être nommé MVP Office-Access de janvier 2003 à décembre 2011.

Qui sont les MVP ?

Visites

   visiteurs

   visiteurs en ligne

Divers ;-)
Nous contacter
Préférences

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )
Forum - Questions générale - Sujet n°790

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


actif  Sujet n° 790  Centrer un formulaire

le 15/12/2017 : 09:05
par flomen

Anonyme

visiteur

Je recherche la solution pour centrer un formulaire2 (AcDialog) dans le centre d'un formulaire1 qui a été recadré c'est à dire que le formulaire1 n'occupe pas tout l'écran. J'ai spécifié la propriété Auto Centrer = Oui dans le formulaire2
Malgré cela, le formulaire2 est centré sur la taille de l’écran et non sur le centre du formulaire1
Merci pour vos suggestions

Ecrire à flomen   Poster une réponse  Haut

[]   

Réponse n° 1
--------
le 15/12/2017 : 14:07
par 3Stone

3Stone

Administrateur

Bonjour,

Comment ouvres-tu le second formulaire ?  par un bouton sur le formulaire1 ?

Cordialement,
Pierre (3Stone)
  Poster une réponse  Haut
Réponse n° 2
--------
le 15/12/2017 : 17:43
par flomen

Anonyme

visiteur
Oui,
DoCmd.OpenForm "Formulaire2", acNormal, "", "", , acDialog Cordialement
  Poster une réponse  Haut
Réponse n° 3
--------
le 15/12/2017 : 18:55
par 3Stone

3Stone

Administrateur

Bonjour,

Ok.
En fait le fomulaire2 ne sait pas ou se trouve le formulaire1.
Il faut donc lui dire...

Pour cela, tu place dans le code du formulaire le code suivant:

'/position et taille du formulaire
Dim sFrmPos As String
sFrmPos = Me.WindowLeft & "," & Me.WindowWidth & "," & Me.WindowTop & "," & Me.WindowHeight

 Puis, tu complète ta commande OpenForm...

DoCmd.OpenForm "formulaire2", , , , , acDialog, sFrmPos
et tu sauve.

Ouvre ton "formulaire2" et dans l'événement "Sur ouverture" tu mets :

    Dim SrcPos As Variant
    Dim SrcL As Long, SrcW As Long, SrcT As Long, SrcH As Long
    Dim MeL As Long, MeW As Long, MeT As Long, MeH As Long
    'récupérer les valeurs dans un tableau
    SrcPos = Split(Me.OpenArgs, ",")
    MeW = Me.WindowWidth
    MeH = Me.WindowHeight
    MeL = SrcPos(0) + ((SrcPos(1) / 2) - (MeW / 2))
    MeT = SrcPos(2) + ((SrcPos(3) / 2) - (MeH / 2))
    'positionner le formulaire
    Me.Move MeL, MeT

 
C'est tout, mais fais attention au copié/collé du code ici !!

Dis moi si cela fonctionne...

Pierre (3Stone)

  Poster une réponse  Haut
Réponse n° 4
--------
le 16/12/2017 : 10:13
par flomen

Anonyme

visiteur
Merci beaucoup pour ta solution qui fonctionne très bien, ce n'était pas évident
Cordialement
Ecrire à flomen   Poster une réponse  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut