XL 2019 Insérer un choix de date via Calendrier dans les cellules

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Fanou,
Le plus simple est d'utiliser le calendrier de Patricktoulon :
Un simple clic droit dans une cellule et le tour est joué.
 

Dranreb

XLDnaute Barbatruc
Ben regarde ! ;) Tu verra que j'ai mis 31 Private Sub TBnxx_Enter() parce que c'est d'une logique plus simple. Idiot d'être obligé de faire ça mais plus simple.
Et puis on ne sait jamais … En cas de répartition de frais informatiques entre services au prorata de temps CPU réputés consommés d'après les statistiques système établies par des traitements, qui se permettent, eux, de s'en exclure, évidemment … Parce que de toute façon le CPU, lui, est toujours en train d'exécuter quelque chose.
Pour info la WithEvents TBnJour As MSForms.ToggleButton existe toujours mais elle est désormais exclusivement initialisée par la Private Sub MontrerLaDate, qui n'est exécutée qu'à la suite d'une intervention de l'utilisateur.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
u utilise donc le même principe du show modal qui arête le code
après perso je suis pas fan de tetris 😂😂😂😂

mais si tu me dis que tu gère mieux avec 31 event pourquoi pas
perso j'ai tellement l'habitude que pour moi c'est d'une simplicité

un truc
a partir du moment ou tu appelle une fonction du userform de l’extérieur(de la feuille )tu instancie une classe du userform et le initialyse bien sur s'applique

le posit dans un appel séparé?????
je pige pas surtout que si je termine la classe a la fin de posit ça ne place plus le calendrier
pourquoi?? ouvrir deux cession pour afficher le cal ????
surtout que posit n'est pas vraiment fermé une fois qu'elle a fait le boulot
l'autre c'est normal c'est le mode responsif Target.Value = UFmCalenS.Saisie(........
elle attend donc la réponse


bon en tout cas il est moins souffre douleur que le précédent mon compteur procc/mémoire te remercie
😅😂

pour info le mien (je ne l'ai pas mis encore dans la ressource) a encore évolué je devait le mettre avant noel mais j'ai pas pris le temps de rédiger le tuto

il est maintenant applicatif ou responsif modal ou non modal Multi cellule et Multi date
j'ai tout repenser autrement y a que le look qui ne change pas si ce n'est qu'il est skinable et je livrerais le skiner avec


dans cette demo je te démontre que l'instance exitée par la fonction posit est perdu dans les méandres des threads sans aucun moyen de la récupérer

elle n'est pas terminée par ce qu'il n'y a pas eu de show
par contre la fonction saisie oui le terminate est bien exécuté
 

Pièces jointes

  • demo instance .xlsm
    17.6 KB · Affichages: 33

patricktoulon

XLDnaute Barbatruc
re
regarde la démo que je t'ai fait
imagine toi au bureau en train de mettre des dates a tout bout chanp toute la journée
au bout de X temps tu X instances ouvertes par posit qui ne seront jamais fermée avant le fermeture de fichier
et il te sera impossible de les éteindre
 

Dranreb

XLDnaute Barbatruc
La démo ne prouve rien. Après un Unload il n'y a plus d'exemplaire chargé et c'est donc normal que l'UserForm_Initialize soit exécuté par un autre Posit ensuite. Par contre le Show utilise le même exemplaire (soyons français) que celui créé lors du Posit et ne provoque donc pas de réexécution de l'UserForm_Initialize.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
a bon!!??;)
je peux t'affirmer à 100% que si
et je le sais parce que j'ai eu l'expérience déjà

si tu fait de la classe avec un userform la fonction doit lancer le show quand le userform est unloadé l'instance est détruite mais si tu ne load pas l'uf, il te faut la détruire de la même manière qu'avec un module classe avec ses fonctions appelée d'un autre module
 

Dranreb

XLDnaute Barbatruc
Tout se passe comme s'il y avait une déclaration Implicite Public UFmCalenS As New UFmCalenS.
Seulement s'il n'est pas déjà initialisé il l'est dès que tu le mentionne pour quelque raison que ce soit jusqu'a ce que tu le décharge. C'est seulement pour ça qu'en général un Show l'initialise, mais pas ici.
Mais je vais peut être combiner les deux. C'est déjà fait par Coupler mais actuellement ça ne marche pas avec un Range dont la Value peut malheureusement être Empty contrairement à un contrôle.
Si je fais un Show dans le Posit je ne peux plus utiliser Saisie car il est modal.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 734
Messages
2 082 020
Membres
101 872
dernier inscrit
Colin T