XL 2013 le calendrier de Patrick Toulon

JPaul78

XLDnaute Junior
Bonjour à tous,
Je créer une discussion car je ne sais pas comment envoyer une note à Patrick Toulon, mais peut-être que d'autres auront une idée pour contourner l'obstacle!
J'utilise depuis plusieurs mois le calendrier de Patrick que je trouve super d'utilisation et de mise en place.
Je rencontre néanmoins un petit soucis sur le choix de l'année. Comme le l'utilise en autre à la saisie de date de naissance, mes utilisateurs peuvent être amener à saisir une date de "vieux": 19 et quelques poussières. Pour cela les liste déroulantes ou spinbouton fonctionnent bien mais peuvent être longues. lorsque l'on doubleclic sur l'année et que l'on saisisse l'année voulue cela fonctionne bien. Par contre, lorsque l'on utilise la touche "retour arrière", dès que l'on arrive sur le 1ier chiffre, alors une erreurs "incompatibilité de type" sur "SpinButton2.Value = Cbyear.Value" dans le module "Cbyear_Change". J'ai tenté quelques approches mais avec succès mitigé.
Voici le meilleur traitement que j'ai trouvé, mais il y peut-être une solution plus élégante...
Private Sub Cbyear_Change()
Censuré a la demande de Patrick Toulon

Merci de vos avis éclairés
 
Dernière édition:
Solution
autant pour moi un petit oubli dans la gestion du bouton(1 à 42) click
en fait dans cet event on est dans une instance de classe calendar donc il faut prefixer cbyear par son parent
car avec certaines versions d'excel(je n'ai pas encore trouvé pourquoi) le "Me" ou rien suffit tandis qu'avec d'autre version il faut préfixer (et pas par me)
donc voila un truc tout bête
'evenement unique pour 42 boutons
Private Sub bout_Click()
If Calendar.Cbyear = "" Then MsgBox "l'année n'a pas été selectionnée!!" & vbCrLf & "veuillez saisir une année valide de 1900 à " & Year(Date) + 100: Exit Sub
With Calendar: .jour = Bout.Caption: .mois = .Cbmonth.ListIndex + 1: .an = .Cbyear.Value: .Hide: End With 'le...

patricktoulon

XLDnaute Barbatruc
autant pour moi un petit oubli dans la gestion du bouton(1 à 42) click
en fait dans cet event on est dans une instance de classe calendar donc il faut prefixer cbyear par son parent
car avec certaines versions d'excel(je n'ai pas encore trouvé pourquoi) le "Me" ou rien suffit tandis qu'avec d'autre version il faut préfixer (et pas par me)
donc voila un truc tout bête
'evenement unique pour 42 boutons
Private Sub bout_Click()
If Calendar.Cbyear = "" Then MsgBox "l'année n'a pas été selectionnée!!" & vbCrLf & "veuillez saisir une année valide de 1900 à " & Year(Date) + 100: Exit Sub
With Calendar: .jour = Bout.Caption: .mois = .Cbmonth.ListIndex + 1: .an = .Cbyear.Value: .Hide: End With 'le unload se fait ailleurs
End Sub

fff
 

JPaul78

XLDnaute Junior
autant pour moi un petit oubli dans la gestion du bouton(1 à 42) click
en fait dans cet event on est dans une instance de classe calendar donc il faut prefixer cbyear par son parent
car avec certaines versions d'excel(je n'ai pas encore trouvé pourquoi) le "Me" ou rien suffit tandis qu'avec d'autre version il faut préfixer (et pas par me)
donc voila un truc tout bête


fff
Voilà un calendrier qu'il est bien! Oui j'ai testé avec la modif et oui cela réagit comme je le souhaitais et tout cela sans la gestion d'erreur (j'avais essayé de mettre Me devant cbyear mais résultat tjrs KO!)
Merci à toi car là je me sens plus serein car je met en place une gestion d'atelier qui utilise en masse ce calendrier!
On peut dire ici que le problème est résolu et je reconnais facilement que le code est propre! encore merci Patrick
 

patricktoulon

XLDnaute Barbatruc
@Usine à gaz
non je n'ai pas mis a jour la source pour la simple et bonne raison que la version ultimate 4.4.1est prête depuis le 15 /12/2021 et en phase de test depuis
il faut que je me r'achette un microcasque pour faire le tuto video car là c'est du lourd TRES! lourd

la version 4.4.1 est
modal
non modal
multi cells
tout object sur feuille ayant une propreties value ou caption
entierement skinable(livrée avec skinner)
skin rééditable et modifiable
toujours les langues et les 10 regions
region et jour férié par region ou tableau(range(une demande m'avait été faite a ce sujet)
et plein d'autre chose encore
avec autocorrecteur de positionnement pour les divergence entre versions d'excel
etc..etc...
tout ça avec toujours seulement le module userform calendar
du LOURD!!! je te dis
mais c'est pas idiot je pense que je vais quand même mettre la 4.2 a jour même si je ne continuerais pas a la développer mais je continue encore pendant un an a la corriger comme c'est la cas dans cette discussion
 

JPaul78

XLDnaute Junior
re

@JPaul78
pas ténor mais tenace
pas baryton mais une Barique

LOL😁
Une autre remarque.. non ne crie pas!:) Tu fais partir le choix de l'année de 1800 à année actuelle +100.
Perso, j'ai modifié ces valeurs afin que l'utilisateur reste dans une plage utile pour lui et sans avoir à dérouler un liste trop longue. Pourquoi ne pas faire en sorte que ces bornes, que je trouve bien par ailleurs, soient paramétrables dans le même esprit que les couleurs du calendrier? de plus cela sera en cohérence car à l'heure actuelle, tu peux choisir à partir de 1800 dans la liste et tu as un message d'alerte qui te dit que le minimum est de 1900.
 
Dernière édition:

JPaul78

XLDnaute Junior
Toujours pas vu de fermeture d'interface chez oim...
Probablement un problème avec ton trop vieux Windows 7 ???
non ma solution ne ferme par le calendrier. Par contre la dernière version avec la modif
Private Sub bout_Click()
If Calendar.Cbyear = "" Then
.....

fonctionne très bien. Le calendrier réagis comme ma proposition mais en mieux codé....
 

Staple1600

XLDnaute Barbatruc
Bonjour

[aparté]
@patricktoulon
Si ton PC est sur W7, même si tu voulais de W11, lui ne voudrait pas de ton PC ;)
(dit le gars sous W10 qui lui dit à chaque update)
NietW11.png


Je sais qu'on essayer de forcer l'installation, mais pas besoin, j'attendrai que mon PC actuel finisse par rendre l'âme pour à W11 à moins que d'ici là je finisse par complément basculer dans le monde libre ;)
PS: Ca veut dire quoi Actuellement ??? Il n'y a rien que je puisse faire à part changer de carte mère
Donc autant changer de PC
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour @Staple1600
mon pc est très récent moins e 2 ans c'est moi qui est remis W7
je monte moi même mes pc
pour le prix d'un pc en magasin entre 700 et 1000 euro j'ai une fusée que je paierais 2500 sinon
et puis comme ça je n'ai pas de surcouche du style tout les cochonnerie HP ou ACER qu'ils rajoutent
un Window bien propre , mes app , ma gestion graphique et c'est tout
 

Discussions similaires

Statistiques des forums

Discussions
312 079
Messages
2 085 136
Membres
102 790
dernier inscrit
nabilziad