Rapport de message :*
 

Re: Utilisation du mdf Xlcalendar à la place de l'objet calendar

Titre du sujet : Re: Utilisation du mdf Xlcalendar à la place de l'objet calendar
par myDearFriend! le 13/10/2009 22:32:13

Re,

Voilà qui est plus clair

Ta façon d'utiliser le Calendar est en effet différente de ce que j'imaginais...

Tu trouveras en pièce jointe ton fichier modifié selon ma façon de voir les choses si tu comptes utiliser le mDF XLcalendar.

Ta procédure Calendar3_Click() est ainsi remplacée par ce code :
Private Sub btnXLcalendar_Click()
    Range("T2").Select
    Application.Run ("mDFXLcalShow")
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim D As Date
    If Not Application.Intersect(Target, Range("T2")) Is Nothing Then
        D = Range("T2").Value
        Range("P2").Value = Year(D) & DatePart("ww", D, vbMonday, vbFirstFourDays)
        Range("lundi").Value = DateSerial(Year(D), Month(D), Day(D) - Weekday(D, vbMonday) + 1)
        Range(Choose(Weekday(D, vbMonday), "N6", "N9", "N12", "N15", "N18", "N6", "N6")).Activate
    End If
End 
Evidemment, ce code nécessite l'installation préalable du mDF XLcalendar sur la machine de l'utilisateur.


Inconvénient tourefois par rapport à ta première version : le calendrier n'est plus affiché directement dans la feuille mais remplacé par un bouton.


Par ailleurs, si je peux me permettre et pour ton info, quand tu écrits..
Dim i, j As Integer
... seul "j" est Integer. "i" sera variant.

Il convient d'écrire :
Dim i As Integer, j As Integer

Cordialement,


Edition : le code est corrigé (en rouge ci-dessus). Le code présent dans la pièce jointe ne l'est pas... il convient de rectifier.