Bonjour à toutes et à tous,
Je vous souhaite un bon dimanche
Me revoilà en ce dimanche "pluvieux" en Tunisie.
Je bute sur une ch'tite formule de rien qui fonctionne pourtant habituellement
La date en "J" est générée par le calendrier et c'est certainement la raison du problème : Pour info : la colonne O est juste un essai de formule. Elle n'existe pas dans mon fichier de travail.
En colonnes "P - Q - R", Je n'arrive pas à obtenir Je n'arrive pas à obtenir : l'ANNEE de J - le MOIS de J - le JOUR de J
Auriez-vous la solution ?
Je joins le fichier test.
Avec mes remerciement,
Amicalement,
lionel,
jean marie a écrit : «
FormatDateUserSurCell est une constante qui a pour valeur False
soit
Private Const FormatDateUserSurCell = False
If FormatDateUserSurCell Then ActiveCell.NumberFormat = FormatDateUser$
»
comme FormatDateUserSurCell est toujours FAUX, le test sera toujours FAUX
➯ ce qui est à droite de Then ne sera JAMAIS exécuté ➯ on mettra JAMAIS
le format de nombre indiqué par FormatDateUser.
AUSSI, on POURRAIT très bien SUPPRIMER cette ligne de code INUTILE !
Re
Ok il y a surement une bonne raison ! Lol
Car lorsque l'on utilise un Calendrier fait pour un certain fichier son utilisation n'est pas forcément la même dans un autre fichier d'où ces différences (Ici , ca ne gène pas , mais ca ne te sert pas non plus Lol !
Bonne journée
jean marie
jean marie a écrit : «
FormatDateUserSurCell est une constante qui a pour valeur False
soit
Private Const FormatDateUserSurCell = False
If FormatDateUserSurCell Then ActiveCell.NumberFormat = FormatDateUser$
»
comme FormatDateUserSurCell est toujours FAUX, le test sera toujours FAUX
➯ ce qui est à droite de Then ne sera JAMAIS exécuté ➯ on mettra JAMAIS
le format de nombre indiqué par FormatDateUser.
AUSSI, on POURRAIT très bien SUPPRIMER cette ligne de code INUTILE !
MAIS vous n'avez pas bien lu ce qui est en commentaire !
ça indique clairement que SI le programmeur qui utilise le calendrier veut appliquer le format de date de FormatDateUser, il lui suffit de remplacerFalse par True :
Private Const FormatDateUserSurCell = True
dès lors, le test sera toujours VRAI ➯ ce qui est à droite de Then sera TOUJOURS exécuté ➯ le format de nombre indiqué par FormatDateUser sera TOUJOURS appliqué.
le format de nombreactuel de FormatDateUser est : "dd/mm/yyyy" ➯ jour/mois/an.
un Anglo-Saxon pourra mettre à la place : "yyyy/mm/dd" ➯ an/mois/jour
(noter que l'année est sur 4 chiffres, ce qui est préférable pour distinguer les années 1900 des années 2000)
conclusion : la constante FormatDateUserSurCell joue le rôle d'un « interrupteur » :
* FALSE ➯ PAS d'application du format de date
* VRAI ➯ APPLICATION du format de date
on peut dire aussi que FormatDateUserSurCell joue le rôle d'une option générale de la mini-application Calendrier, de la même façon qu'il y a des options générales pour Excel(ainsi que des options avancées) ; ceci à un détail près : les options d'Excel sont choisies par l'utilisateur ; alors qu'ici, c'est plus le programmeur que l'utilisateur qui choisit les options, puisque l'utilisateur n'est pas censé « trifouiller » dans le code VBA !
oh le vilain ! ne pas hésiter à prendre une règle pour lui taper sur les doigts s'il l'a quand même fait ! et toi, Lionel, si jamais tu surprends ta secrétaire à modifier ton code VBA, tu as mon autorisation pour l'envoyer au coin. avec un bonnet d'âne sur la tête, non mais ! ça lui apprendra, à farfouiller dans tes dossiers ! comment ? ta secrétaire est aussi ta femme ? aïe ! oui, effectivement, ça pose un problème : si tu la mets au coin, elle risque de se mettre en grève, et de ne plus vouloir te faire la popote ! malédiction ! quel cruel dilemme ! punir ou ne pas punir, telle est la question !
petite info complémentaire : dans la ligne du test, le signe dollar « $ » est inutile, même pour un très riche américain, et à fortiori pour Donald Trump et l'oncle Sam (Joe Biden) ! on peut mettre :
If FormatDateUserSurCell Then ActiveCell.NumberFormat = FormatDateUser
remarque : j'ai reçu un twitt de Donald Trump qui me confirme qu'il est bien milliardaire, mais que ça l'empêche pas d'être l'objet d'une procédure d'impeachment (je traduis pour les lecteurs francophones : empêchement procédure de destitution).
voilà, ma thèse est terminée ! j'ai droit à quelle note ? avec une mention aussi ?
et j'ai droit à un bonus, pour vous avoir évité de déranger Roland ?
je ne connais pas ce Roland ; j'espère que ce n'est pas le preux chevalier Roland, sinon, messires, allez vite lui prêter main forte ! je l'entend sonner de l'olifant (du cor), depuis l'arrière-garde ! le pauvre doit être en grand danger de succomber sous les attaques de ces traîtres de Sarrasins !