Icône de la ressource

VBA - Positionner un Objet par rapport à un autre Objet - Principal concerné... le UserForm V1

Dans le fichier à télécharger, le Module_PositionObjectOnObject est à inclure dans le projet VBA.
Il contient la fonction PositionObjectOnObject() dont les arguments sont décrits dans le code.

Le Module_Test contient de nombreux exemples de mise en œuvre accessibles via les boutons de la feuille.

Cette fonction permet de positionner un Objet Source sur un Objet Cible dans la mesure où cela est compatible et codé.
VB:
'----------------------------------------------------------------------
'Positionne un Objet source sur un Objet cible dans la mesure où cela
'est compatible et codé:
'- Objet source = UserForm -> Objet cible = Fenêtre
'- Objet source = UserForm -> Objet cible = Control de feuille
'- Objet source = UserForm -> Objet cible = UserForm
'- Objet source = UserForm -> Objet cible = Control de UserForm
'- Objet source = Control de feuille -> Objet cible = Control de feuille

L'Objet Source principalement concerné est bien sûr le UserForm.
Les UserForms ont des marges et comportements qui varient d'une version de Windows à une autre et d'une version d'Office à une autre.

Le code a été testé avec Windows 10 et Office 2016. Ils devrait fonctionner avec des versions supérieures.
Avec des versions inférieures, le positionnement souffrira de légers décalages horizontaux et/ou verticaux liés à la variabilité des UserForms avec les versions Windows & Office. Décalages qu'il faudra éventuellement corriger à l'estime en utilisant les arguments de positionnement "custom" de la fonction.

1er exemple en image
Test1.gif


2ème exemple en image
Test9.gif