[mDF] Peut-on piloter par VBA l'affichage du mDF XLcalendar 1.1 sur feuille de calcul ?

Q&R publiƩe par MyDearFriend! le 06-03-2010

[mDF] Peut-on piloter par VBA l'affichage du mDF XLcalendar 1.1 sur feuille de calcul ?

Si l'utilitaire mDF XLcalendar est bien installé sur le poste de travail cible, il est tout à fait possible de contrôler son affichage sur feuille de calcul par code VBA.

Pour provoquer l'affichage en mode normal :

Ouvre le mDF XLcalendar en position automatique aux abords de la cellule active
Sub mDFCal_PositionAuto()
Application.Run ("mDFXLcalShow")
End Sub



Pour refermer le mDF XLcalendar :

Ferme le mDF XLcalendar
Sub mDFCal_Close()
Application.Run ("mDFXLcalHide")
End Sub



Pour ouvrir le mDF XLcalendar centré au milieu de la fenêtre :

Ouvre le mDF XLcalendar au centre de l'écran
Sub mDFCal_Centre()
'Attention ici à l'utilisation des apostrophes à l'intérieur des guillemets
Application.Run ("'mDFXLcalShow -1'")
End Sub



Pour forcer l'ouverture du mDF XLcalendar à un endroit précis de la fenêtre :

Ouvre le mDF XLcalendar en position forcée selon des coordonnées écran X et Y
Sub mDFCal_PositionXY()
'Attention ici à l'utilisation des apostrophes en début et fin de chaine
Dim X As Long, Y As Long
X = 50
Y = 20
Application.Run ("'mDFXLcalShow 1," & X &"," & Y &"'")
End Sub





Par ailleurs, vous pouvez également ajouter la Référence au mDF XLcalendar depuis l'éditeur VBE, via le menu Outils / Références...
Puis, vous cochez mDF_XLcalendar dans la liste et faites OK.

Avec cette référence ajoutée à votre classeur, le contrôle d'affichage du mDF XLcalendar s'en trouve simplifié. La méthode "Application.Run()" n'est plus nécessaire :

Ouvre le mDF XLcalendar en position automatique aux abords de la cellule active
Sub mDFCal_PositionAuto()
mDFXLcalShow
End Sub



Ferme le mDF XLcalendar
Sub mDFCal_Close()
mDFXLcalHide
End Sub



Ouvre le mDF XLcalendar au centre de l'écran
Sub mDFCal_Centre()
mDFXLcalShow -1
End Sub



Ouvre le mDF XLcalendar en position forcée selon des coordonnées écran X et Y
Sub mDFCal_PositionXY()
Dim X As Long, Y As Long
X = 50
Y = 20
mDFXLcalShow 1, X, Y
End Sub




Cette Q&R a été trouvée sur myDearFriend! Excel Pages : https://www.mdf-xlpages.com/modules/smartfaq/faq.php?faqid=70