userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDernière intervention 4 février 2011
-
11 mars 2009 à 15:35
userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDernière intervention 4 février 2011
-
16 mars 2009 à 11:38
Hello,
Je souhaiterais savoir si l'un d'entre vous a déjà rencontré ce souci et s'il est résolvable :
Dans un classeur Excel j'ai incorporé plusieurs userform afin d'exécuter des taches courantes de saisie d'horaire, d'ajout ou suppression de personne et de saisie d'absence.
Pour l'une d'entre elle j'ai souhaité utilisé un contrôl monthview afin de sélectionner des dates.
L'ennui est que je souhaitais définir la date par défaut du monthview en fonction de la date du jour.
J'ai tapé ce code à l'ouverture du classeur : Userform6.MonthView1.Value= date où date est une variable date,
mais ça ne fonctionne pas comme espéré.
J'ai créé un autre classeur avec un monthview et ai testé ce même code et là ça fontionne.
Je me demande donc qu'est-ce qui pourrait faire "planter" l'exécutionde ce code.
userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDernière intervention 4 février 2011 13 mars 2009 à 11:36
Hello,
Désolé de ne pas avoir répondu avant, afin qu il n'y ait pas de quiproquo, j'ai déjà écarté le fait que le souci viendrait d'une variable mal définie en remplaçant cette variable par une valeur fixe :
dans mon petit classeur test j'ai saisi ce code qui s'exécute à l'ouverture du classeur :
UserForm1.MonthView1.Value = "02/03/2009"
UserForm1.Show
Résultat j'ai bien une petite fénêtre qui s'affiche avec le calendrier qui affiche la "page" de mars et entoure la date du 2 mars.
UserForm6.MonthView1.Value = "02/03/2009"
UserForm1.Show
Résultat :"Error 35778 : An error occured in call to the windows monthview control"
J'ai fait des recherches avec ce n° d'erreur et n'ai pas trouvé la moindre explication au fait que cela fonctionne dans un cas et pas d'and l'autre
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 16 mars 2009 à 08:09
précisions...
UserForm1.MonthView1.Value = "02/03/2009"
même si ce code fonctionne parfaitement sur beaucoup de postes, dont le mien.
Cela reste sujet a interprétation.
En effet, la propriété Value du MonthView attend une date. Les paramètres regionnaux du poste seront donc pris en compte pour en déduire: 2 Mars 2009
mais d'autres parametres pourraient faire comprendre: 3 Février 2009 ...
donc, il faut utiliser la notation que je t'ais indiqué si ta date est en dur.
une autre possibilité, qui te permettra de jouer avec des variables est d'utiliser DateSerial (et TimeSerial).
Ce sera même plus rapide que "02/03/2008" , puisqu'il n'y aura pas de jeu avec des chaines de caractères... simplement des calculs, pour trouver la valeur décimale permettant de stocker la date a représenter.
userrrqi115
Messages postés181Date d'inscriptionmardi 18 novembre 2008StatutMembreDernière intervention 4 février 2011 16 mars 2009 à 11:38
Hello,
Merci de ces précisions, si je comprend bien le # permet d'avoir un format de date correct par rapport aux paramètre régionaux du poste, donc bien mieux que des guillemets dans la mesure où les codes pourraient être exécuter sur d'autres postes.
Je vais essayer de m'en tenir à ""=string et ## = date
Sinon j'ai contourner mon souci lié au monthview, je n'ai pas vraiment d'explications, mais l'essentiel est que le tout fonctionne comme il faut.