2 calendrier dans un userform [Résolu/Fermé]

Signaler
Messages postés
93
Date d'inscription
lundi 19 octobre 2015
Statut
Membre
Dernière intervention
11 juin 2018
-
Messages postés
93
Date d'inscription
lundi 19 octobre 2015
Statut
Membre
Dernière intervention
11 juin 2018
-
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

Messages postés
15831
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 juillet 2021
1 512
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
Messages postés
93
Date d'inscription
lundi 19 octobre 2015
Statut
Membre
Dernière intervention
11 juin 2018

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
Messages postés
16491
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 juillet 2021
3 198
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