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
re
@JPaul78
arrête de parler d'ergonomie tu ne sais visiblement pas ce que c'est
ca te convient pas à toi c'est tout
essaie de t'en faire un toi meme et qui fonctionne en 3 langues et une 10aines de regions) en évitant tout les pièges ,après tu pourra parler avec moi d'ergonomie
pour le moment tu ne sais visiblement pas faire
on a jamais vu un formulaire avec gestion d'erreur se fermer a cause justement de l'erreur c'est ABSURDE !!!
et tu ose me parler d'ergonomie ;);)

écoute ton bricolage te convient c'est tant mieux pour toi ,mais laisse les développement a ceux qui savent
 

JPaul78

XLDnaute Junior
Re
Je n'arrive pas à reproduire ce que tu décris (Explications ?)
Exemple je fais ça et puis ça et ensuite ça et j'ai tel message lorsque je fais ça !
Jean marie
Si tu utilises le fichier joint j’ai fait la modification notée dans mon 1ier poste. Mais je trouve cette modification un peu extrême et je voulais trouver quelques chose de plus soft. Tu as les lignes ajoutées de marquées merci
 

patricktoulon

XLDnaute Barbatruc
re
bonjour
oui en effet on démarre a 1900 et on termine à year(date) +100
je n'est pas pensé que c’était nécessaire d'aller plus bas pour un calendrier de saisie

il faut savoir aussi que excel gère très mal les dates en dessous ce siècle

ceci dit :
pour les versions 4.1.9 / 4.2.1 / 4.2.2 et 4.2.3
change 1900 pour ce que tu veux dans la ligne ci dessous qui se trouve dans la fonction config
VB:
For I = 1900 To Year(Dat) + 100: Calendar.Cbyear.AddItem I: Next

et surtout change le min dans les propriété du spinbutton2 pour le min que tu aura mis dans la boucle

je vais voir si je peux ajouter la saisie manuelle dans la combo cbyear
@+
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
bon je viens de tester et effectivement si on descend plus bas c'est la fonction reload clavier qui fait planter
car les diverses fonction (utilisées) date/ weekday,etc... ne fonctionnent pas en dessous 1900

il faudrait que j'ajoute mes fonctions persos utilisées dans ma fonction datedifAMJ pour palier ce problème
mais ca représente trop de travail vu que la version 4.4.1 va sortir incessamment sous peu
 

patricktoulon

XLDnaute Barbatruc
ok
donc pour palier a ce problème de date en dessous 1900 sur excel je triche un peu
je ne garanti pas la véracité des jour fériés car ca c'est pas possible
mais tu peux descendre jusqu’à 1800
petit palliatif opéré sur la version 4.2.3 Belgique qui est la dernière version en 4.2 mise a jour en décembre 2021

il est bien entendu que ce palliatif n'est opéré que sur les cellules et qu'une date en dessous de 1900 devient donc du texte
Kado
voilà ;)
comme tu peux le voir je n'ai aucun soucis a saisir directement dans la combo ou descendre en dessous 1900
demo3.gif
 

Pièces jointes

  • 1 new calendar version 2019-2020 V.4.2.3.Begique.xlsm
    105.6 KB · Affichages: 15
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
ok
donc pour palier a ce problème de date en dessous 1900 sur excel je triche un peu
je ne garanti pas la véracité des jour fériés car ca c'est pas possible
mais tu peux descendre jusqu’à 1800
petit palliatif opéré sur la version 4.2.3 Belgique qui est la dernière version en 4.2 mise a jour en décembre 2021

il est bien entendu que ce palliatif n'est opéré que sur les cellules et qu'une date en dessous de 1900 devient donc du texte
Kado
voilà ;)
comme tu peux le voir je n'ai aucun soucis a saisir directement dans la combo ou descendre en dessous 1900
Regarde la pièce jointe 1133732
1800 lol ils sont plussss fous que moi ces romains 😅😂🤣🙃
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 814
dernier inscrit
JLGalley