Microsoft 365 Calendrier à la saisie d'une cellule de type date

M92_

XLDnaute Junior
Bonjour,

Serait-il possible de me montrer comment mettre en place un contrôle de cellule qui me permettra de choisir une date depuis un calendrier ?

Un peu de cette manière (e.g, add-in Time Picker) :
1623421837115.png

Merci par avance de votre aide.

Cdt,
M92
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
Un petit fichier aurait été bienvenu !!
sinon ce code déclenchera l'ouverture ... un usf ?? à la selection de cellule dans la plage D5 : E20 donc à adapter
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("D5:E20")) Is Nothing Then
 
T = Target.Row
If Target.Count > 1 Then Exit Sub
ICI METTRE L'ACTION QUI AFFICHE LE CALENDRIER
End If
End Sub
 

M92_

XLDnaute Junior
Bonjour
Un petit fichier aurait été bienvenu !!
sinon ce code déclenchera l'ouverture ... un usf ?? à la selection de cellule dans la plage D5 : E20 donc à adapter
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("D5:E20")) Is Nothing Then
 
T = Target.Row
If Target.Count > 1 Then Exit Sub
ICI METTRE L'ACTION QUI AFFICHE LE CALENDRIER
End If
End Sub
Merci beaucoup pour votre retour. Vous trouverez ci-joint le fichier excel !
Je voudrais que la calendrier s'affiche suite au clic gauche de la souris sur une des cellules de la colonne 'Date'

1623439017070.png
 

Pièces jointes

  • Classeur1_Calendrier.xlsx
    8.5 KB · Affichages: 38

patricktoulon

XLDnaute Barbatruc
bonjour a tous
sinon on en fait un très simple ressemblant a celui du #post 1
en mode applicatif (modal ou non modal(voir si dessous explication))
compatible toute version (d'office/windows)(utilisation des api en excel4macro )

copier le module UFcalendrier dans votre projet

dans le module de (la/les) feuille concerné(s) mettre ceci
bien sur!! adapter les conditions ligne colonne à votre guise
pour le mode non modal débloquez tout ce qui est vert (en commentaire )

VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
UFcalendrier.Show '0
Cancel = True
End Sub

'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If UFcalendrier.Visible Then Unload UFcalendrier
'End Sub

Voila comme ça tu sera pas dépaysé ;) tu te retrouve avec quasiment le même
les calendriers chez patricktoulon ,c'est a la carte 🤣🤣🤣

petite démo
demo7.gif
 

Pièces jointes

  • calendrier v7.xlsm
    33.9 KB · Affichages: 67

M92_

XLDnaute Junior
bonjour a tous
sinon on en fait un très simple ressemblant a celui du #post 1
en mode applicatif (modal ou non modal(voir si dessous explication))
compatible toute version (d'office/windows)(utilisation des api en excel4macro )

copier le module UFcalendrier dans votre projet

dans le module de (la/les) feuille concerné(s) mettre ceci
bien sur!! adapter les conditions ligne colonne à votre guise
pour le mode non modal débloquez tout ce qui est vert (en commentaire )

VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
UFcalendrier.Show '0
Cancel = True
End Sub

'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If UFcalendrier.Visible Then Unload UFcalendrier
'End Sub

Voila comme ça tu sera pas dépaysé ;) tu te retrouve avec quasiment le même
les calendriers chez patricktoulon ,c'est a la carte 🤣🤣🤣

petite démo
Regarde la pièce jointe 1108354

Bonjour @patricktoulon, merci beaucoup pour votre retour.
J'ai un petit soucis de mon côté car en sélectionnant une cellule vide de la colonne A, le calendrier ne s'affiche pas. Pouvez-vous apporter de l'aide, svp ?

1623604088243.png


Cdt,
M92
 

patricktoulon

XLDnaute Barbatruc
perso un dialog ou un menu j'estime qu'il doit toujours être appelé du click droit pour 2 raisons
la première c'est comme ca partout dans toute application
la 2d et plus particulièrement dans excel ,c'est que le clickdroit fonctionne même sur une cellule déjà sélectionné
 

patricktoulon

XLDnaute Barbatruc
je suis quand même content d'avoir enfin un retour de 365 pour les api avec les macro4
ce qui valide définitivement la compatibilité (toute version d'office) et pour peu que tu soit en 64 bits c'est le pompon je peux clore cette recherche de compatibilité
 

fredd

XLDnaute Occasionnel
bonjour. J'ai une question sur le code de @patricktoulon

VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
UFcalendrier.Show '0
Cancel = True
End Sub

Celui çi permet de lancer le calendrier si on fait un clique droit sur n'importe quel cellule de la feuille.
mais comment limiter par exemple à la colonne A et la colonne H?
Merci
 

fredd

XLDnaute Occasionnel
Bonsoir.
Que ce soit pour mon calendrier ou un autre c'est pareil: vous ajoutez un instruction qui le vérifie :
VB:
If Target.Column <> 1 And Target.Column <> 8 Then Exit Sub
ah oui, tous simplement!!!
Il suffisant d'ajouter and et rappeler la commande ...
Je ne maitrise pas le VBA et je découvre à chaque fois des choses et dans ma tete c'était plutot "Or" et j'avais tester un
If Target.Column <> 1 or 8 Then Exit Sub Ben ça marche pas :D

Merci beaucoup @Dranreb c'est parfait.
 

Discussions similaires