Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Romuald.besset
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
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
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
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
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
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