Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Développement d'un Userform Calendrier sous Excel

  • Initiateur de la discussion Initiateur de la discussion Fred92
  • Date de début Date de début

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 !

Fred92

XLDnaute Nouveau
Bonsoir à tous,

J'essaie de développer un Calendrier en VBA qui puisse être appelé en cliquant sur un contrôle Label placé dans un USERFORM. Le but est qu'après avoir sélectionné une date dans ce Calendrier, celle-ci s'affiche directement dans le contrôle Label du USERFORM.

Je précise que je ne souhaite pas utiliser l'objet DATE AND TIME PICKER CONTROL 6.0 comme calendrier.

Or je bloque actuellement sur le transfert de la date sélectionnée du calendrier vers le USERFORM (sachant que je souhaiterais que ce calendrier puisse être utilisé avec n'importe quel USERFORM, le contrôle de destination devant donc être un paramètre).

Je vous joins en pièce jointe copie de mon fichier et vous remercie par avance de l'aide que vous pourrez m'apporter (pour faire apparaître le calendrier cliquer sur le label où figure la date du jour).

Je reste à votre disposition pour tout renseignement complémentaire.

Fred92
 

Pièces jointes

Re : Développement d'un Userform Calendrier sous Excel

Bonjour ,

Pour transférer ta date d'un userform à l'autre utilises une variable public défini dans un module standard.

Exemple : Public Date_Choisie as string

ensuite dans le userform date_choisie = textbox xxx
ou
dateactuelle = date_choisie

Il faut également revérifier le fonctionnement de ton calendrier qui visiblement pêche un peu .
 
Re : Développement d'un Userform Calendrier sous Excel

Bonsoir Camarchepas,

Tout d'abord merci pour avoir consulté ma demande et y avoir répondu.

Dans le fichier joint, il y a bien deux variables publiques qui sont stockées dans le module standard A_FRM_Calendrier_Module. Ces variables sont:

Public DateCalendrier As Date (qui sert au stockage de la date)
Public ControleName As control (qui doit servir en théorie à stocker le nom du contrôle (le Label) dans lequel doit être retourné la date).

Le Calendrier en lui même fonctionne maintenant. Le message d'erreur provenait d'une erreur de ma part ayant oublié de définir la variable objet (ControleName) avec l'instruction Set (je renvoie le fichier modifié).

Cependant, en sélectionnant une date, je n'arrive toujours pas à retourner cette valeur dans le Label du USERFORM1.

L'objet ControleName n'a pas de propriété "Caption" et je pense que le problème vient de là.

Qu'en pensez vous? Comment obtenir cette propriété Caption?

Fred92
 

Pièces jointes

Re : Développement d'un Userform Calendrier sous Excel

Rebonsoir Camarchepas,

J'ai essayé le fichier que tu m'as envoyé et il y a un message d'erreur "Incompatibilité de Type" lorsqu'on appel le calendrier en cliquant sur le bouton CommandButton1:

la ligne de code qui pose problème:

TextBox1.Text = Calendriers.Calendrier(CDate(TextBox1.Text))

As tu le même message d'erreur?

Merci pour ton aide.

Fred92
 
Re : Développement d'un Userform Calendrier sous Excel

Bonjour Si...,

Tout d'abord merci pour ton aide. La solution que tu proposes ne répond pas à la problématique. En effet dans le module du Calendrier la ligne que tu as écrite pour renseigner FRM_USERFORM1 est:

FRM_USERFORM1.FRM_Date_Saisie = CDate(CaseJR & "/" & CbMois.ListIndex + 1 & "/" & CbAnnee)

Sauf que FRM_USERFORM1 doit être une variable pour que ce Calendrier puisse être utilisé avec n'importe quel USERFORM. Dans ton cas, la date sélectionnée sera retournée à seulement FRM_USERFORM1.

J'espère avoir été suffisamment clair dans mes explications.

Dans l'attente de vous lire car pour le moment je bloque complètement.

Fred92
 
Re : Développement d'un Userform Calendrier sous Excel

salut

à voir avec 2 variables "Public" bien typées.
je n'ai pas fait de contrôle de ton calendrier car je l'aurais programmé de façon très différente (voir dans les propositions que j'ai faites dans d'autres fils).
 

Pièces jointes

Re : Développement d'un Userform Calendrier sous Excel

Re à tous ,

Oui normal ,
Car il faut renseigner la date d'origine pour le calendrier , je pensais que c'est ce que tu voulais ,

JE viens de modifier pour que par défaut ce soit la date du jour ,

Il faut malgrés tous si tu change la date , mettre une date correcte
 

Pièces jointes

Re : Développement d'un Userform Calendrier sous Excel

Re bonjour à tous les deux,

Je tiens à vous remercier l'un et l'autre pour les solutions apportées (qui sont en définitive très proche l'une de l'autre).

J'ai cherché à compliquer le problème alors que la solution est finalement simple (fallait il pour autant la trouver!).

Encore un grand merci ainsi qu'au forum qui est une source de connaissance exceptionnelle.

Bonne fin de journée à tous.

Fred92
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…