[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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romuald.besset
Le #13290421
Romuald.besset wrote:

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



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
ricouille Hors ligne
Le #26017832
Le lundi 26 Avril 2004 à 13:12 par 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


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
Publicité
Poster une réponse
Anonyme