2 calendrier dans un userform

Résolu
Xenos1705 Messages postés 97 Statut Membre -  
Xenos1705 Messages postés 97 Statut Membre -
Bonjour à tous,

J'ai la macro suivante qui me permet dans un formulaire d'afficher un calendrier pour le choix d'une date:


Private Sub Calendar1_Click()

' Met la date sélectionnée dans la cellule active
ActiveCell.Value = Calendar1.Value
' Masque le calendrier
Calendar1.Visible = False

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 5 And Target.Row = 11 Then
' Si la cellule sélectionnée est dans la plage qu'on veut lier au calendrier, on affiche le calendrier
Calendar1.Visible = True
Else
' Sinon, on masque le calendrier
Calendar1.Visible = False
End If
If Target.Column = 5 And Target.Row = 25 Then
Application.Run ("TransposeBDD")
End If

End Sub



Actuellement, le calendrier s'affiche sur la cellule E11 uniquement mais je souhaiterais aussi qu'il s'affiche en E17 et en E24. Malheureusement, je n'arrive pas à adapter le code pour que le calendrier s'affiche lorsqu'on clique sur une des trois cellules concernées.

D'avance merci pour votre aide et vos lumières.

Cordialement.

Xenos

2 réponses

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

    Ok pour les clics cellules, mais pour application.run, vous n'avez pas precise

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Application.Intersect(Target, Union(Range("E11"), Range("E17"), Range("E24"))) Is Nothing Then
            ' Si la cellule sélectionnée est dans la plage qu'on veut lier au calendrier, on affiche le calendrier
            Calendar1.Visible = True
        Else
            ' Sinon, on masque le calendrier
            'Calendar1.Visible = False
        End If
        If Target.Column = 5 And Target.Row = 25 Then
            Application.Run ("TransposeBDD")
        End If
    End Sub
    
    0
    1. Xenos1705 Messages postés 97 Statut Membre
       
      Hello,

      Application.run déclenche juste l'enregistrement des données renseignées dans une BDD.

      En tout cas merci car ca fonctionne parfaitement ainsi.

      C'est exactement ce dont j'avais besoin.

      Bonne journée
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("E11,E17,E24")) Is Nothing Then: MsgBox "gagné! :o) " & Target.Address
    End Sub

    0