[ole ] dates excel...
Le
Romuald.besset

bonjour,
la classe cexcel:sLireValeur permet de lire les valeurs des cellules
mais comment faire pour les dates ?
en effet, il s'agit d'un format d'affichage pour des entiers qui ne
correspondent à rien en wd (pas même base de calcul)
++ R&B
la classe cexcel:sLireValeur permet de lire les valeurs des cellules
mais comment faire pour les dates ?
en effet, il s'agit d'un format d'affichage pour des entiers qui ne
correspondent à rien en wd (pas même base de calcul)
++ R&B
pour la postérité (Merci drCharly),
merci aussi de confirmer.
PROCEDURE CExcel::sLireDate(sCellule)
// Renvoie le contenu de la cellule qui est une date (entier affiché en
date)
// sCellule est la cellule désirée
// prise en compte que les entiers dates d'excel démarrent au 01/01/1900
n est un entier = DateVersEntier("19000101")
ncalc est un entier
QUAND EXCEPTION DANS
ncalc = :m_xExcel>>Range(sCellule)>>Value
ncalc = ncalc + n - 2
// (-2 en raison du 01011900 de vb et du 01011800 de wd)
RENVOYER EntierVersDate(ncalc)
FAIRE
:msgerreur("Impossible de lire la valeur.",ExceptionInfo())
RENVOYER ""
FIN
++ R&B
déterrage:
sous windev 19 pour les dates d'un vieux fichier excel
PROCEDURE date_excel(sCellule)
// prise en compte que les entiers dates d'excel démarrent au 01/01/1900
n est un entier = DateVersEntier("19000101")
SI sCellule<>"" ALORS
ncalc est un entier
ncalc = sCellule
ncalc = ncalc + n - 2
// (-2 en raison du 01011900 de vb et du 01011800 de wd)
RENVOYER EntierVersDate(ncalc)
SINON
RENVOYER ""
FIN