Comment faire pour mettre plusieurs calendriers?

Marix -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai déjà fait le tour de plusieurs sites pour pouvoir répondre à ma question. Est-il possible de combiner le calendrier variable sur plusieurs cellules (range) et quelques cellules qui ne sont pas ^sont pas consécutives?
EX:

Ma formule est :
Dim cel As Range
Private Sub Calendar1_Click()
If Not cel Is Nothing Then cel = Calendar1.Value
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A22:A30]) Is Nothing Then
Calendar1.Visible = False
Set cel = Nothing
Else
Set cel = Target
If IsDate(cel) Then Calendar1 = cel
Calendar1.Left = cel.Offset(0, 1).Left + 3
Calendar1.Top = cel.Top + 3
Calendar1.Visible = True
End If
End Sub

Ce qui me permet d'avoir un calendrier sur toutes les cellules de la plage A22:A30 et de pouvoir sélectionner plusieurs dates différentes. Mais j'aimerais aussi en avoir un sur la cellule B13 ainsi que sur d'autres cellules. Je ne sais pas si je suis clair mais j'espère avoir une réponse à ma question :) Merci!

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Il faut des test en ou (Or) et le test inverse: Not Intersect

    Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
      If Not Intersect(Target, [A22:A30]) Is Nothing Or _ 
         Not Intersect(Target, [B13]) Is Nothing Or _ 
         Not Intersect(Target, [D14]) Is Nothing Or _ 
         Not Intersect(Target, [E14]) Is Nothing Then 
        Set cel = Target 
        If IsDate(cel) Then Calendar1 = cel 
        Calendar1.Left = cel.Offset(0, 1).Left + 3 
        Calendar1.Top = cel.Top + 3 
        Calendar1.Visible = True 
      Else 
        Calendar1.Visible = False 
        Set cel = Nothing 
        Exit Sub 
      End If 
    End Sub 
    


    Bonne suite
    0