Rapport de message :*
 

Re: MdF XL Calendar

Titre du sujet : Re: MdF XL Calendar
par wjmavsk le 17/03/2013 00:05:55

Option Explicit

Private Sub frmCalendar_Click()
' Met la date sélectionnée dans la cellule active
   ActiveCell.Value = frmCalendar.Value
' Masque le calendrier
    frmCalendar.Hide
End Sub

'Gère le calendrier sur feuille Saisie

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
    If Target.Column = 11 And Target.Row >= 7 Or Target.Column = 12 And Target.Row >= 7 Or Target.Column = 14 And Target.Row >= 7 Then
' Si la cellule sélectionnée est dans la plage qu'on veut lier au calendrier,
' Place le calendrier à côté de la cellule
     
        'frmCalendar.Top = ActiveCell.Top
        frmCalendar.Top = 350
        frmCalendar.Left = ActiveCell.Left + ActiveCell.Width + 20
' Affiche le calendrier
        frmCalendar.Show
           
    Else
' Sinon, on masque le calendrier
        'frmCalendar.Hide
        Unload frmCalendar
   
    End If
   
    If IsDate(ActiveCell.Value) Then
        frmCalendar.MonthView1.Value = ActiveCell.Value
    Else
        frmCalendar.MonthView1.Value = Cells(2, 1).Value
    End If

End Sub


 
Bonsoir,
je suis tout à fait d'accord avec votre position, mais quand on est bloqué, il est parfois utile de trouver une solution palliative.
Comme je n'arrive pas à trover ce qui se passe, j'ai redéveloppé un calendrier moins élaboré qui fonctionne dans mon application.
Par contre, il me reste un problème à régler: Positionner correctement le calendrier à coté de la cellule sélectionnée. coin haut cellule droit / coin haut calendrier gauche.
Ce calendrier est utilisé dans un tableau qui comporte près de 2000 lignes et je le fais apparaitre pour 3 des colonnes de ce tableau.
J'arrive à le positionner correctement dans l'axe des X, fonction de la colonne. Par contre, ma formule ne fonctionne pas dans l'axe des Y. Le calendrier sort de l'écran lorsque le numéro de lignes est supérieur à 125 (de mémoire).
Pour le moment, j'ai pris une position fixe en Y. Par contre j'aimerais bien trouver une solution.
J'ai joint le code utilisé pour le positionnement . La commande de positionnement en Y qui ne fonctionne pas est mise en commentaire et remplacée par une position fixe à 350.
Avez vous une idée du code qui permettrait de positionner le calendrier et l'aligner sur le haut de la cellule?
Merci par avance,
Cordialement,
JMV