Objet Calendrier Excel s'affiche à la date de création

Pierrick1910

XLDnaute Nouveau
[RESOLU] Objet Calendrier Excel s'affiche à la date de création

Bonjour,
J'ai créé un petit fichier Excel.
Lorsqu'on clique sur certaines cellules le calendrier s'affiche, et ensuite en cliquant sur la date souhaitée sur le calendrier, la date s'affiche dans la cellule.

Tout marche très bien excepté que lorsque le calendrier s'ouvre, il affiche toujours le mois où j'ai créé le calendrier !

Je ne sais pas comment lui dire d'afficher le mois en cours.

Voilà mon Code :
Au niveau du formulaire
Code:
Private Sub Calendrier_DateClick(ByVal DateClicked As Date)
ActiveSheet.Unprotect
ActiveCell = DateClicked
ActiveSheet.Protect
Unload UserForm1
End Sub

Au niveau de la page d'appel du calendrier :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
Call Calendrier
End If
End Sub

Je ne sais pas où et quoi rentrer pour afficher le calendrier à la date du jour...

Merci de votre aide.

Pierrick
 
Dernière édition:

gfortin9

XLDnaute Occasionnel
Re : Objet Calendrier Excel s'affiche à la date de création

Allô!

Je ne suis pas en mesure de vérifer, mais je dirais quelque chose comme :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
Call Calendrier
[COLOR="Purple"]Calendrier = today[/COLOR]
End If
End Sub

GFortin
 

jms31

XLDnaute Junior
Re : Objet Calendrier Excel s'affiche à la date de création

Bonjour,

Tout dépend du control calendrier que tu as sur ta form, mais si c'est un "Monthview", tu as les propriétés suivantes pour initialiser le control avant l'appel de ta UserForm
Code:
Calendrier.Day
Calendrier.Month
Calendrier.Year
Sur un DatePicker aussi d'ailleurs

Oops ! désole Gfortin9 et tdenfert pas rafraichi avant de poster
 
Dernière édition:

coco1969

XLDnaute Nouveau
Re : Objet Calendrier Excel s'affiche à la date de création

essai cette macro que tu dois copier dans
C:\Documents and Settings\"ton répertoireXXXXXX"\Application Data\Microsoft\AddIns
Pour EXCEL 2003
Ensuite tu va dans Tools ==> Add-ins.. et tu tick calendar
lorsque tu te mettras sur n'importe quelle cellule, tu clique droit et tu as le calendar
 

Pièces jointes

  • mDF_Calendrier21.zip
    31.2 KB · Affichages: 110
  • mDF_Calendrier21.zip
    31.2 KB · Affichages: 83
  • mDF_Calendrier21.zip
    31.2 KB · Affichages: 83

Pierrick1910

XLDnaute Nouveau
Re : Objet Calendrier Excel s'affiche à la date de création

Bonjour à tous,

Désolé gfortin9, mais ta solution ne fonctionne pas.
tdenfert ton lien ne marche pas non plus.
jms31 c'est peut-être la solution, mais je ne comprends pas comment la mettre en place.
coco1969, je ne cherche pas une solution de Calendrier, j'en ai déjà une qui marche très bien sans rajout ou autre, mais juste à afficher le calendrier à la date du jour plutot qu'à la date de création.

Je vous joins mon fichier pour que vous puissiez peut-être mieux comprendre.
Pour faire afficher le calendrier il faut cliquer dans n'importe quelle case de la colonne Date.

Merci beaucoup de votre aide.
 

Pièces jointes

  • Compta2009 Frais.zip
    34.6 KB · Affichages: 78

jms31

XLDnaute Junior
Re : Objet Calendrier Excel s'affiche à la date de création

Désolé Pierrick, je n'ai pas le control calendrier que tu utilises sur ma machine, donc je ne peut pas mettre à jour ton code et te le renvoyer.

Mais a priori vu le code que tu as écrit, dans ta procédure Calendrier, il suffit que tu ajoutes le code suivant avant l'appel à userform1.show (en espérant que ton contrôle ait bien ses propriétés. Sinon cherche dans VBE et l'explorateur d'objet les propriétés de ton contrôle qui te permetront d'initialiser la date avant l'affichage)

Code:
UserForm1.<NomDuControle>.Day= Day(now())
UserForm1.<NomDuControle>.month = Month(now())
UserForm1.<NomDuControle>.Year= Year(now())
UserForm1.Show
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth