XL 2013 Calendrier automatique dans cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Roseline

XLDnaute Occasionnel
Bonjour,
J'ai crée un calendrier qui apparaît automatiquement dans mon fichier excel en cliquant sur une cellule. J'ai limiter le calendrier aux colonnes C et D. Cependant j'aimerais que ce calendrier s'affiche seulement sur la plage C3 à D10 et j'en suis incapable. J'ai essayé plusieurs changements mais aucun fonctionne. Merci de m'aider.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 3 And Target.Column <> 4 Then Exit Sub
UFmCalend.Posit Target, 1, 0.9
Target.Value = UFmCalend.Saisie(, Target.Value, Target.Value)
End Sub

Bonne journée
 
Solution
Bonjour,

Comme ceci cela devrait fonctionner :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:D10")) Is Nothing Then
        UFmCalend.Posit Target, 1, 0.9
        Target.Value = UFmCalend.Saisie(, Target.Value, Target.Value)
    End If
End Sub
Bonjour @Roseline

Je te propose ceci :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C3:D10")) Is Nothing Then
    
     'Le reste de ton code ici ......
    UFmCalend.Posit Target, 1, 0.9
    Target.Value = UFmCalend.Saisie(, Target.Value, Target.Value)

End If
End Sub

Ton calendrier s'affichera seulement si tu cliques dans les cellules C3: D10

*Si cela ne correspond pas à ta demande un fichier anonymisé serait le bienvenu....

@Phil69970
 
Bonjour,

Comme ceci cela devrait fonctionner :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:D10")) Is Nothing Then
        UFmCalend.Posit Target, 1, 0.9
        Target.Value = UFmCalend.Saisie(, Target.Value, Target.Value)
    End If
End Sub
 
Bonjour,

Comme ceci cela devrait fonctionner :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("C3:D10")) Is Nothing Then
        UFmCalend.Posit Target, 1, 0.9
        Target.Value = UFmCalend.Saisie(, Target.Value, Target.Value)
    End If
End Sub
Merci beaucoup ca fonctionne parfaitement. Je vous souhaite une excellente journée 🙂
 
Bonjour @Roseline

Je te propose ceci :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C3:D10")) Is Nothing Then
   
     'Le reste de ton code ici ......
    UFmCalend.Posit Target, 1, 0.9
    Target.Value = UFmCalend.Saisie(, Target.Value, Target.Value)

End If
End Sub

Ton calendrier s'affichera seulement si tu cliques dans les cellules C3: D10

*Si cela ne correspond pas à ta demande un fichier anonymisé serait le bienvenu....

@Phil69970
Bonjour, ça fonctionne parfaitement, merci beaucoup de votre rapidité 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
243
Retour