Créer un contrôle calendrier MonthView ou Date & Time Picker

Niveau technique : Expert

Résumé

Cet article nécessite une connaissance de VBA suffisante pour manipuler les userforms et les contrôles associés. La problématique est analogue pour un contrôle sur feuille.

Cet article se propose de résoudre les différents problèmes qu'on peut rencontrer lors de la création de ces contrôles.

Vu la grande diversité des plateformes, je décrirai la procédure à utiliser dans un environnement Windows 10. Je m'efforcerai de donner des indications pour les autres environnements.

Le but étant d'utiliser l'un des deux contrôles :

  • MonthView
  • Date & Time Picker

Je donnerai des exemples pour le premier, sachant que la procédure sera exactement la même pour le second.


Détails
  1. Quelles versions peuvent utiliser ces contrôles ?

Il faut deux conditions :

- Toutes les versions 32 bits (impératif) d'Office 2003 et postérieures (les versions précédentes ne sont pas prises en considération ici).

- le système  d'exploitation doit être Windows et doit supporter VBA.

Les versions d'Office 64 bits et celles fonctionnant sur MacOS feront l'objet d'une article séparé (en cours de rédaction).

Déterminer si l'on possède les bonnes versions. Etant donné la diversité des versions, il est plus simple d'exécuter deux macros :

Est-ce que ma version de Windows est une version 32 ou 64 bits :

Sub Win32ouWin64()
If Len(Environ("ProgramW6432")) > 0 Then
    MsgBox "Windows 64 bits"
Else
    MsgBox "Windows 32 bits"
End If
End Sub

Déterminer si ma version d'Office est une version 32 ou 64 bits :

Sub Office32ou64bits()
    Dim var As Boolean
    #If Win64 Then
        var = True
    #End If
    If var = True Then
        MsgBox "Office 64 bits"
    Else
        MsgBox "Office 32 bits"
    End If
End Sub

Ce qui suit va décrire la création "normale" d'un contrôle MonthView ainsi que les différents problèmes qu'on est susceptible de rencontrer.

Etape 1. Au moment de créer un MonthView, vous cherchez le contrôle dans la Boîte à outils. Si vous le trouvez, cas le plus favorable, vous le dessinez comme n'importe quel contrôle.

Fin de la procédure. Sinon passez à l'étape 2.

Etape 2. le contrôle ne figure pas dans la boîte à outils

Il faut alors faire un clic droit sur la boîte à outils et cliquer sur "Contrôles supplémentaires" et chercher la ligne "Microsoft MonthView". Cocher la case correspondante :

Valider. Reprendre la procédure à l'étape 1.


Etape 3. Le contrôle ne figure pas dans la liste des contrôles disponibles.

On va rechercher dans les références disponibles. Dans la fenêtre VBE, cliquer sur les menus "Outils" puis "Références". Rechercher la référence :

Microsoft Windows Common Controls-2 6.0 (SP6)

Si on trouve cette référence, cocher la case correspondante, valider le choix. Reprendre à l'étape 1. Sinon :

Etape 4. Rechercher le fichier mscomct2.ocx

Dans la fenêtre VBE, cliquer sur les menus "Outils" puis "Références". Cliquer sur le bouton "Parcourir". Selon qu'on a Windows 32 bits, chercher le dossier :

C:\Windows\System32

sinon, chercher :

C:\Windows\SysWOW64 :

Rechercher le fichier mscomct2.ocx et valider. Si le fichier existe, passer à l'étape 5.


Le fichier ne figure pas dans le dossier. Passer à l'étape 6.

Etape 5. Inscription du fichier dans le registre

Note pour ce qui suit, si vous ne travaillez pas avec un compte administrateur, vous allez avoir besoin d'un mot de passe administrateur. Entrez "cmd" (sans les guillemets) dans la boîte d’exécution, faîtes un clic droit sur "cmd" et cliquer sur "Exécuter en tant qu'administrateur".

Entrez la ligne :

C:\windows\system32\regsvr32 C:\windows\syswow64\mscomct2.ocx

(Si la version de Windows est une version 32 bits, remplacer "syswow64" par "system32" dans le chemin du fichier OCX)

et appuyez sur Entrée. Vous devez recevoir un message indiquant la réussite de l'opération :

Reprendre à l'étape 3.

Etape 6. Il faut rechercher le fichier sur internet. A ma connaissance, il n'est plus possible de le télécharger depuis un site officiel Microsoft.

Certains fichiers trouvés ne fonctionnent malheureusement pas. Le fichier que j'utilise à une taille de 663 288 octets. Le mieux est de la demander sur le forum Answers :

https://answers.microsoft.com/fr-fr/msoffice/forum/msoffice_excel

Copier dans le dossier indiqué à l'étape 4 puis reprendre à l'étape 5.

*** FIN DE LA PROCEDURE ***


Note : Si un point est obscur ou inexact, merci de laisser un commentaire.


Cet article vous a-t-il été utile ?

Nous sommes désolés de ne pas avoir pu vous aider.

Super ! Merci de vos commentaires.

Quel est votre degré de satisfaction concernant cet article ?

Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.

Quel est votre degré de satisfaction concernant cet article ?

Merci de vos commentaires.

Bonjour,

Avez-vous eu l'occasion de faire un article pour la version avec Office 64 ?

Merci,

Pascal 

27 personnes ont trouvé ce commentaire utile

·

Ce commentaire vous a-t-il été utile ?

Nous sommes désolés de ne pas avoir pu vous aider.

Super ! Merci de vos commentaires.

Quel est votre degré de satisfaction concernant ce commentaire ?

Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.

Quel est votre degré de satisfaction concernant ce commentaire ?

Merci de vos commentaires.

Bonjour Daniel,

Document très clair et très complet mais j'ai un bug.

Ai fait et eu tous les messages attendus (enregistrement base de registre,....)

Ai rajouté la référence Microsoft Windows Common Controls-2 6.0 (SP6)

Mais le contrôle supplémentaire "Microsoft MonthView" n'apparaît pas.

Mon fichier mscomct2.ocx a une taille de 660 120 octets alors que le tien fait 663 288. Est-ce là le pb ?

Si oui ai essayé de le télécharger mais chaque fois MalwareBytes m'indique que le site comporte un Trojan donc ne suis pas allé plus loin.

Cordialement

Richard


Ce commentaire vous a-t-il été utile ?

Nous sommes désolés de ne pas avoir pu vous aider.

Super ! Merci de vos commentaires.

Quel est votre degré de satisfaction concernant ce commentaire ?

Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.

Quel est votre degré de satisfaction concernant ce commentaire ?

Merci de vos commentaires.

J'ai exactement le même problème. 

J'ai suivi le process présenté (comme je l'avais déjà réalisé), mais toujours rien.

De mon côté, j'ai téléchargé le fichier, malgré l'alerte de Virus, et il a une taille de 646 
Ko.

J'ai bien le fichier :Microsoft Windows Common Controls-2 6.0 (SP6) dans les références du menu outils, mais toujours pas de MonthView ou date et time picker dans les les contrôles supplémentaires.

Cordialement

Catherine

1 personne a trouvé ce commentaire utile

·

Ce commentaire vous a-t-il été utile ?

Nous sommes désolés de ne pas avoir pu vous aider.

Super ! Merci de vos commentaires.

Quel est votre degré de satisfaction concernant ce commentaire ?

Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.

Quel est votre degré de satisfaction concernant ce commentaire ?

Merci de vos commentaires.

Bonjour Catherine,

en fait je crois que ce contrôle ne peut fonctionner que sur Office 32 bits et pas 64.

cordialement

Richard

9 personnes ont trouvé ce commentaire utile

·

Ce commentaire vous a-t-il été utile ?

Nous sommes désolés de ne pas avoir pu vous aider.

Super ! Merci de vos commentaires.

Quel est votre degré de satisfaction concernant ce commentaire ?

Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.

Quel est votre degré de satisfaction concernant ce commentaire ?

Merci de vos commentaires.

Bj ça ne fonctionne avec Microsoft Edge ?

J'ai besoin d'insérer un calendrier dans une cellule Excel.

Merci.

Isabelle

Ce commentaire vous a-t-il été utile ?

Nous sommes désolés de ne pas avoir pu vous aider.

Super ! Merci de vos commentaires.

Quel est votre degré de satisfaction concernant ce commentaire ?

Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.

Quel est votre degré de satisfaction concernant ce commentaire ?

Merci de vos commentaires.

 
 

Informations sur l'article de forum


Dernière mise à jour 14 mai 2024 Affichages 18 408 S’applique à :