2 calendrier dans un userform

Résolu/Fermé
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018 - 26 oct. 2016 à 16:14
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018 - 27 oct. 2016 à 08:19
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
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 oct. 2016 à 16:35
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
Xenos1705 Messages postés 93 Date d'inscription lundi 19 octobre 2015 Statut Membre Dernière intervention 11 juin 2018
27 oct. 2016 à 08:19
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
26 oct. 2016 à 17:24
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