Bonjour BOTTIN Laurence - DGMT/SG/AG2
Message du 2006-08-24 17:47:
Bonjour,
J'utilise la macro ci-dessous pour mettre à jour un cellule de calc à partir
d'un champs date affichant un calendrier.
Je rencontre des difficultés avec le format d'affichage
Si on saisie une date dont le jour est > à 12 le format affiché est
jj/mm/aaaa
Si on saisie une date dont le jour est <= à 12 le format affiché est
mm/jj/aaaa
Le code contenu dans le champs date pour mettre à jour le format est
TypeAffichage=15036.
( ... )
oSheet.getcellRangebyName(CelluleLiee).formula =
CDateFromIso( oControl.date)
La propriété .Formula doit être une chaîne de caractères commençant par
le caractère =
Sinon on risque des erreurs comme celle-ci. En fait, les résultats
"corrects" sont traités comme des textes : ils sont cadrés à gauche et
on voit une apostrophe dans le champ de saisie de la cellule.
Si on n'utilise pas une vraie formule, il est plus efficace d'utiliser
les propriétés .Value ou .String selon qu'on veut mettre un nombre ou un
texte. Ici, la date est un nombre.
oSheet.getcellRangebyName(CelluleLiee).Value = CDateFromIso( oControl.date)
Pour information, avec .Formula il aurait fallu écrire:
oSheet.getcellRangebyName(CelluleLiee).Formula = "=" &
CLng(CDateFromIso( oControl.date))
Bernard