Calendrier 2014 dans différentes cellules VBA

Bonjour à tous,

Je cherche à intégrer un calendrier de l'année 2014 dans chaque cellule de B44:B143 et E44:E143 afin de choisir les dates de manière plus pratique (et esthétique) que la liste déroulante actuelle.

J'imagine qu'il faut passer par VBA mais je n'ai pas (encore) les compétences nécessaires pour réaliser cela.

Sur le forum, j'ai trouvé des modèles "clés en main" mais je n'arrive pas à les adapter à mon fichier.

Quelqu'un pourrait-il m'aider à réaliser cela ?

Merci par avance pour votre aide.

21calendar.xlsx (57.45 Ko)

Bonjour,

quelque-chose comme ça ?

70calendar.xlsm (69.89 Ko)

Bonjour,

Merci pour votre réponse mais je ne vois aucune différence avec mon fichier : )

L'avez-vous bien intégré ?

Cordialement.

Oups, j'ai oublié de vous expliquer comment l'appeler

Un double clic dans les cellules qui vous intéressent fait apparaître le calendrier qui vous permet de choisir la date à entrer dans la cellule.

Bonjour,

Tu dois au préalable télécharger et installer :

'Microsoft Windows Common Controls 2-6 (SP6)"

Ensuite ouvre ce fichier et inspire toi de la procédure VBA.

Cdlt.

Merci à tous les deux pour vos réponses.

@Jean-Eric : Malheureusement à mon poste il est impossible de télécharcher ce lien. Il semble être bloqué par mon administrateur.

@Guitouille : C'est parfait à une chose près (que j'ai oublié de mentionner), est-il possible de limiter les années à UNIQUEMENT 2014 ?

RE,

Il est possible que ton PC possède cette bibliothèque.

Dans VBE / Outils / Références, vois si elle est présente.

Dans la négative, soudoie ton admnistrateur

Cdlt.

Jean-Eric,

Malheureusement il m'est impossible de le télécharger. Je travaille dans une grande entreprise et il n'est pas facile de le soudoyer

Pourrais-tu reprendre le modèle de Guitouille et bloquer le calendrier à l'année 2014 ?

Dans l'éditeur je ne trouve pas l'onglet qui me permet de le modifier !

Merci mille fois !

Re,

Désolé, mais je ne dispose pas de 'Microsoft Calendar Control 11.0'.

Je ne peux pas t'aider.

Cdlt.

Aïe : )

Je suis bloqué

Je repasse avant le week-end,

éssai d'ajouter

Private Sub UserForm_Initialize()
'spécifie la date du jour lors de l'affichage
    Calendar1.Value = Now
End Sub

dans le code de l'userform1

Merci Guitouille je testerai Lundi!

Bonjour à tous,

J'ai bien ajouté au code ce que m'a dit Guitouille mais je n'ai toujours pas accès dans l'éditeur au choix de l'année

(sous la forme de "MinValue" et "Max Value" il me semble)

Mon souhait est de bloquer 2014 dans le calendrier et, si possible, lors du double-clic sur les cellules, à tomber par défaut sur le 01/01/2014.

Malgré les changements effectués dans l'éditeur, la date proposée par défaut, pour une raison que j'ignore, est le 11/08/2014.

Quelqu'un a-t-il une solution ? Merci par avance pour votre aide.

Cordialement.


Bonjour à tous,

J'ai bien ajouté au code ce que m'a dit Guitouille mais je n'ai toujours pas accès dans l'éditeur au choix de l'année

(sous la forme de "MinValue" et "Max Value" il me semble)

Mon souhait est de bloquer 2014 dans le calendrier et, si possible, lors du double-clic sur les cellules, à tomber par défaut sur le 01/01/2014.

Malgré les changements effectués dans l'éditeur, la date proposée par défaut, pour une raison que j'ignore, est le 11/08/2014.

Quelqu'un a-t-il une solution ? Merci par avance pour votre aide.

Cordialement.


Pour information, le code de l'Userform 1 ressemble à ça maintenant :

Private Sub Calendar1_Click()

End Sub

Private Sub CommandButton1_Click()
ActiveCell = Me.Calendar1
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
'spécifie la date du jour lors de l'affichage
   Calendar1.Value = Now
End Sub

Je remets le fichien pièce jointe pour votre information.

Cordialement

20calendar.xlsm (69.89 Ko)

J'ai réussi à faire qu'au double -clic, la cellule affiche le 01/01/2014

Je n'avais pas vu que le code faisait référence à la date d'aujourd'hui. Code ici :

Private Sub Calendar1_Click()
dDate = Calendar1.Value
Unload Me
End Sub

Private Sub CommandButton1_Click()
ActiveCell = Me.Calendar1
Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub
Dim dDate As Date

Private Sub UserForm_Terminate()
    If dDate <> 0 Then UserForm1.ActiveControl = dDate
End Sub

Reste un dernier problème : comment faire pour que seule l'année 2014 soit sélectionnable dans le calendrier ?

Je ne connais pas assez bien VBA...

20calendar.xlsm (65.69 Ko)

Personne ne sait : ) ?

Bonjour,

Private Sub Calendar1_Enter()

Calendar1.Value = DateSerial(Year(Date), 1, 1)

End Sub

Bonsoir Guitouille,

Malheuresement ça ne fonctionne toujours pas.

Lorsque je rajoute votre code, le calendrier s'ouvre sur l'année 1905 ! Mais je ne sais pas pourquoi. J'ai pourtant bien mis 2014 à la place de la "date" dans le code mais rien à faire...

J'ai trouvé l'erreur:

J'ai pourtant bien mis 2014 à la place de la "date" dans le code

edit: date est une fonction qui renvoi la date en cours

edit2: en faite, c'est pas une fonction, c'est une propriété, m'enfin !

Rechercher des sujets similaires à "calendrier 2014 differentes vba"