Quelques soucis d'affichage avec ce calendrier

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 !

Webperegrino

XLDnaute Accro
Supporter XLD
Bonjour Le Forum,

Trois jours de recherches infructueuses ! Je demande de l’aide et un peu de pédagogie. Merci d’avance.
Webperegrino

Objectif de l’évolution de l’UserForm ci-annexé en fichier joint :
TextBox 1 (2008) ne sera plus affiché et remplacé par un déroulant sur trois années.
Actuellement il faudrait d’ailleurs y trouver « 2010 » et non « 2008 »

Problèmes :

A l’ouverture de l’UserForm :
- j’ai « septembre 2008 » d’affiché en Label 9 : je devrais avoir mois et année en cours : « février 2010 »
- pour voir les jours bien affichés, il faut une entrer valeur dans ComboBox2 (Année) au lieu de l’y trouver automatiquement.

Dans ComboBox2 (Année) :
- je n’ai pas le déroulant,
- je n’ai pas l’année en cours affichée par défaut
- je suis obligé d’y saisir l’année (alors les jours se remplissent correctement)

Dans ComboBox1 (Mois) :
- je n’ai pas le déroulant des 12 mois,
- je n’ai pas le mois en cours affiché par défaut
- une erreur d’exécution 13 si je veux y entrer « février »
- par conséquent Label 9 se complète incorrectement.

Objectif subsidiaire :
Comment peut-on remonter les numéros des jours dans les boutons ‘Jours’ ?
- Pouvoir centrer verticalement ;
- Pouvoir aussi réduire les dimensions de ces boutons tout en gardant garder visible le jour - avec cadre et police jour plus petits –.

J’avais aussi songé, en remplacement des deux ComboBox, à un ScrollBar1 au centre duquel défilerait … , ou janvier 2010, ou février 2010, ou mars 2010, … selon l’action des flèches du ScrollBar mais cela reste pour moi, pour l’instant, du rêve !

Merci aux experts qui voudront bien prendre quelques instants à mettre un peu de 'baume' dans ce fichier malade.
 

Pièces jointes

Re : Quelques soucis d'affichage avec ce calendrier

Bonjour Le FORUM,
Bonjour Jean-Marcel,
Merci pour votre intervention rapide.
Il semble que ce ne soit pas "un bout de réponse" mais LA réponse !
Le fichier que vous m'avez corrigé semble fonctionner à merveille, et me convenir parfaitement.

Merci encore pour cette intervention d'expert : il me reste à me former en allant éplucher calmement les codes rectifiés.

Bonne journée à vous tous sur ce site passionnant.
Webperegrino
 
Re : Quelques soucis d'affichage avec ce calendrier

Merci aussi Roland M pour votre intéressement et votre participation en suite de mon message.

Je conserve ce procédé intéressant en mes archives.
Je le trouve toutefois plus 'technique' pour une mise en place dans mon gros fichier de 1 600 Mo.

Mais j'étudierai volontiers son fonctionnement pour une adaptation ultérieure : votre application est très efficace mais pour le moment j'ai une préférence pour la rectification proposée par Jean-Marcel.
En effet, je crains tellement de devoir gérer de nouveaux blocages dans mon Fichier de base : je ne suis qu'un <<apprenti en VBA>> et loin d'y naviguer aisément comme vous tous !.
Merci
Webperegrino
 
Re : Quelques soucis d'affichage avec ce calendrier

Bonsoir LE Formum,
Bonsoir Jean-Marcel et Roland_M,

Jean-Marcel,
Le transfert du calendrier dans mon gros fichier est enfin réussi !
J'y étais depuis quelques heures. Ouf !

Tout fonctionne bien, mais toutefois je constate ce qui suit.
Cela est vrai aussi dans le fichier corrigé que je me permets de joindre ici pour qu'il serve éventuellement à d'autres personnes.

Il me faut garder TextBox1 (je l'ai caché dans l'Userform en position Left = 132) sinon le cadre présentant le 1er jour du tableau, le CommandButton2 (qui est en Left 6, Top 62) reste inactif avec un affichage '01' à l'ouverture de l'UserForm.

Ce n'est pas trop grave, mais c'est quand même surprenant de devoir garder TextBox1 alors que les codes font maintenant référence à ComboBox2.

Enfin, un dernier petit désir dont je ne trouve pas la solution :
Par exemple pour aujourd'hui samedi 20 février 2010, si je choisis Février en ComboBox1 et 2010 en ComboBox1, comment faire pour que le bouton 20 soit d'une couleur plus contrastée, et en gras ?
c'est-à-dire avoir la date du jour de consultation en évidence dans le pavé du calendrier ?

Merci
 

Pièces jointes

Re : Calendrier : quelques derniers soucis d'affichage

Bonjour Le Forum,
Bonjour Jean-Marcel et merci pour votre proposition.
Je précise ma requête car vos derniers apports dans les codes font bien paraître en relief le bouton sélectionné ... dans la validation précédente.

Ce que je souhaitais :
A chaque ouverture de l'userform, voir le bouton d'aujourd'hui - si on est dans le mois et si on est dans l'année avec les ComboBox biens sûr, soit 21 sera en relief car ComboBox 2 affiche février et ComboBox 1 affiche 2010.


Et comme par défaut, à chaque ouverture de l'UserForm, on est dans l'année et le mois en cours, c'est bien le bouton d'aujourd'hui qui sera en relief. Pour aujourdh'ui ce sera donc le bouton 21 qui sera gras ; quand j'activerai l'UserForm demain ce sera le 22 qui sera en police grasse et bouton grisé, etc.

J'utilise ce calendrier soit :
- en double cliquant sur une cellule bleutée,
- soit dans mon gros fichier d'utilisation en le faisant paraître dans un autre grand UserForm de saisie
La surbrillance du bouton du jour aide sérieusement au choix du jour à choisir car on sait ainsi au premier coup d'oeil "le combien on est aujourd'hui" à l'ouverture de ce calendrier.

Enfin, de votre dernière proposition, si TextBox100 qui affiche "2008" est supprimé chez moi, voici ce que l'on voit à la première ouverture, sur mon écran :
- le bouton du jour n'est pas en relief,
- le premier bouton s'affiche en "01"
(réf image ci-jointe)
 

Pièces jointes

  • 1ère ouverture sans TextBox100.jpg
    1ère ouverture sans TextBox100.jpg
    27.4 KB · Affichages: 93
Re : Quelques soucis d'affichage avec ce calendrier

Le Forum,
Jean-Marcel, Roland_M,
OBJECTIF ATTEINT : vous me comblez pour ces corrections.
Jean-Marcel, dans mon gros fichier la date du jour paraît maintenant en surbrillance ... c'est CLAIR maintenant.
Je regarde de mon côté cette affaire de TextBox100 qui affiche "2008" et met le premier bouton en "01".
Un grand merci
Cordialement à vous,
Webperegrino
 
Re : Quelques soucis d'affichage avec ce calendrier

Bonsoir le forum,

A la recherche d’un calendrier ne nécessitant aucune déclaration de librairie ni d'ActiveX, j’ai trouvé celui de Roland.

Le seul souci est que je suis face à cette nécessité que le format de la date sélectionnée dans le calendrier et affichée dans le label ne doive pas contenir de slash.

Ce serait très aimable si quelqu’un pouvait me dire s’il est possible que la date s’affiche sous un autre format, par exemple 25.07.2010 ou encore 25 juillet 2010.

Merci, Kim.
 

Pièces jointes

Re : Quelques soucis d'affichage avec ce calendrier

Bonsoir


Utilises ceci par exemple
( a tester plus avant)
Code:
Public Sub CalendrierDTPDateDebutSeul(fmME As Object) 'une seule date mais Var DateDebut idem !
CalendrierLoadInitShow fmME, "Date initiale " & CalendrierDateDebutSELECT, CalendrierDateDebutSELECT
If CalendrierDateSELECT Then
  [COLOR=Blue] fmME.DTPDateDebut = Replace(CalendrierDateSELECT, "/", ".")[/COLOR]
   CalendrierDateDebutSELECT = CalendrierDateSELECT
End If
End Sub
et cela

Code:
Private Sub UserForm_Initialize()
If Val(CalendrierDateDebutSELECT) = 0 Then CalendrierDateDebutSELECT = Date
DTPDateDebut = CalendrierDateDebutSELECT
'DTPDateDebut = Format(Date, "dd.mm.yyyy")
[COLOR=Blue]DTPDateDebut.Caption = Replace(DTPDateDebut.Caption, "/", ".")[/COLOR]
End Sub
 
Re : Quelques soucis d'affichage avec ce calendrier

bonsoir Staple1600, le forum,

une dernière requête :

Roland dit :

Code:
Private Sub UserForm_Initialize()
[COLOR="DarkRed"][B]'si pas de date initialisée avant appel = Date actuelle[/B][/COLOR]
If Val(CalendrierDateDebutSELECT) = 0 Then CalendrierDateDebutSELECT = Date
DTPDateDebut = CalendrierDateDebutSELECT
End Sub

voulant qu’au load de l’userform, la label s’affiche vide (sans date du jour), j’ai supprimé les lignes :

Code:
If Val(CalendrierDateDebutSELECT) = 0 Then CalendrierDateDebutSELECT = Date
DTPDateDebut = CalendrierDateDebutSELECT
DTPDateDebut.Caption = Replace(DTPDateDebut.Caption, "/", ".")

problème : ça ne marche pas, ces lignes semblent être essentielles pour le fonctionnement du calendrier ...

merci de ton aide, Kim.
 

Pièces jointes

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