La proc?dure pour ins?rer un tel contr?le est plut?t ceci
dans un module standard. Pour que le contr?le apparaisse
sur la feuille, Excel doit passer en "mode cr?ation" et revenir
en "mode normal". C'est ce que fait la macro : "Mode_Cr?ation"
Et pour situer le contr?le dans la feuille, tu utilises les r?f?rences
des propri?t?s "top" et "left" d'une cellule de ton choix. Ceci va
devenir le coin sup?rieur gauche du contr?le.
'------------------------------
Sub test()
With Worksheets("Feuil1") 'Nom de la feuille ? adapter
.OLEObjects.Add(ClassType:="MSComCtl2.MonthView.2", _
Link:=False, DisplayAsIcon:=False, _
Left:=.Range("A10").Left, _
Top:=.Range("A10").Top).Visible = True
Mode_Cr?ation
End With
End Sub
'------------------------------
Sub Mode_Cr?ation()
With ThisWorkbook.VBProject.VBE.CommandBars
With .FindControl(ID:=212)
.Enabled = True
.Execute
End With
.FindControl(ID:=212).Execute
End With
End Sub
'------------------------------
--
MichD
--------------------------------------------
Bonjour,
L'appellation du contr?le : "Microsoft Monthview Control 6.0 (Sp6)
Tu peux utiliser ce contr?le : "Microsoft Date And Timer Picker Control 6.0 (Sp6)
ou "Calendar Control 1X.0"
Pour ins?rer le contr?le ? un endroit d?sir? dans la feuille, j'ai utilis?
la r?f?rence ? la cellule de mon choix, propri?t? Top and Left de la cellule.
'---------------------------------
Sub test()
With Worksheets("Feuil1")
.OLEObjects.Add ClassType:="MSComCtl2.MonthView.2", _
Link:=False, DisplayAsIcon:=False, _
Left:=.Range("A10").Left, _
Top:=.Range("A10").Top
.Range("A1").Select
End With
End Sub
'---------------------------------
--
MichD
--------------------------------------------
4c947261$0$8979$426a34cc@news.free.fr...
Bonjour ? tous,
Quelqu'un aurait-il un exemple d'utilisation directe de Monthview control
dans une feuille ce calcul (Excel 2010) sans passer par l'insertion dans un
UserForm ?
Il est en effet possible d'ins?rer directement ce contr?le sur la feuille
par :
D?veloppeur, Ins?rer, Autres contr?les.
- Si je positionne le calendrier au milieu de la page par exemple, d?s que
je quitte le mode cr?ation
un second calendrier apparait en haut ? gauche de la page et c'est ce
dernier qui est actif.
Le premier ins?r? reste visible et inutile.
- Si j'enregistre la macro d'insertion cela donne :
Sub Macro1()
ActiveSheet.OLEObjects.Add(ClassType:="MSComCtl2.MonthView.2",
Link:=False _
, DisplayAsIcon:=False, Left:=465, Top:=90.75, Width:=166.5,
Height:= _
156).Select
End Sub
Comment la modifier pour fixer la cellule li?e et rendre le contr?le
imm?diatement
utilisable car Excel reste en mode cr?ation.
Ce n'est pas un r?el besoin, c'est juste pour comprendre et apprendre.
Merci d'avance.
Cc.