|
PB SUR XLSDONNEE SUR UN FORMAT DE CELLULE TRES SPECIAL |
|
Stagiaire WDF
Inscrit: 11/03/2008 15:40
De France
Post(s): 5
|
J'utilise les différentes fonctions pour récupérer le contenu de fichiers afin de les remettre en forme dans un format standard, et je rencontre une difficulté sur un champ qui m'est retourné
result= xlsTypeColonne(id,nColonne,Faux), - id est l'identifiant de fichier, - nColonne est la colonne qui m'intéresse,
Dans mon cas ma cellule "31-mars-08 12:02:58", la valeur retourné est 31. - en utilisant ChaineVersDate(chaine), j'obtiens 20080331, - en utilisant ChaineVersDurée(chaine,dureeCentieme) j'obtiens le résultat 31000320080 ce qui est en fait la date
Par contre avec cette cellule "01-avr-08 02:46:09" qui est au même format - en utilisant ChaineVersDate(chaine), j'obtiens -08 av01, - en utilisant ChaineVersDurée-chaine j'obtiens le résultat 1020006090
Est-il possible avec WINDEV de FORMATER une cellule, ou le résultat.
MERCI...
Contribution le : 24/04/2008 11:55
|
|
|
Re: PB SUR XLSDONNEE SUR UN FORMAT DE CELLULE TRES SPECIAL |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, La gestion des dates est un peu différente entre Excel et WinDev Pour cela il vous faudra reformater vos données pour pouvoir les exploiter:
//Cette fonction va renvoyer une date au format DateHeure
PROCEDURE proConvertirDateDeExcel(pDate est une chaine)
dDateHeure est une DateHeure
sHeure est une chaine
sDate est une chaine
nJour est un entier
nAnnee est un entier
sHeure = Droite(pDate,8)
sHeure = Remplace(sHeure, ":", "")
dDateHeure..PartieHeure = sHeure[[ A 6]]
sDate = ExtraitChaine( pDate, 1, " " )
nJour = ExtraitChaine( sDate, 1, "-" )
nAnnee = ExtraitChaine( sDate, 3, "-" )
Selon ExtraitChaine( sDate, 2 "-" )
Cas "janv" : nMois = 1
Cas "févr" : nMois = 2
Cas "mars" : nMois = 3
Cas "avr" : nMois = 4
Cas "mai" : nMois = 5
Cas "juin" : nMois = 6
Cas "juil" : nMois = 7
Cas "août" : nMois = 8
Cas "sept" : nMois = 9
Cas "oct" : nMois = 10
Cas "nov" : nMois = 11
Cas "déc" : nMois = 12
Fin
dDateHeure..Annee = nAnnee
dDateHeure..Mois = nMois
dDateHeure..Mois = nMois
dDateJour = nJour
Renvoyer dDateHeure
Code saisie à la volée pouvant comporter des erreurs
Contribution le : 25/04/2008 12:25
|
|
|
Re: PB SUR XLSDONNEE SUR UN FORMAT DE CELLULE TRES SPECIAL |
|
Stagiaire WDF
Inscrit: 11/03/2008 15:40
De France
Post(s): 5
|
Merci, pour cette réponse. Il y avait quelques erreurs en effet. Mais cette fonction ne fonctionne pas sur une cellule avec le contenu "22/08/2007 11:01:41".
A+
Contribution le : 25/04/2008 13:33
|
|
|
Re: PB SUR XLSDONNEE SUR UN FORMAT DE CELLULE TRES SPECIAL |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, En modifiant quelque peu la fonction et avec tests effectués voici le code de la fonction qui fonctionne avec les deux formats de dates différents fournis
PROCEDURE proConvertirDateDeExcel( pDate est une chaîne, pSeparateurDate est une chaîne = "/" )
dDateHeure est une DateHeure
sHeure est une chaîne
sDate est une chaîne
nJour est un entier
nAnnee est un entier
nMois est un entier
sHeure = Droite(pDate,8)
sHeure = Remplace(sHeure, ":", "")
dDateHeure..PartieHeure = sHeure[[ A 6]]
sDate = ExtraitChaîne( pDate, 1, " " )
nJour = ExtraitChaîne( sDate, 1, pSeparateurDate )
nAnnee = ExtraitChaîne( sDate, 3, pSeparateurDate )
SI nAnnee > 50 ALORS nAnnee += 1900 SINON nAnnee += 2000
nMois = ExtraitChaîne( sDate,2, pSeparateurDate )
SI nMois = 0
SELON ExtraitChaîne( sDate, 2, pSeparateurDate )
CAS "janv" : nMois = 1
CAS "févr" : nMois = 2
CAS "mars" : nMois = 3
CAS "avr" : nMois = 4
CAS "mai" : nMois = 5
CAS "juin" : nMois = 6
CAS "juil" : nMois = 7
CAS "août" : nMois = 8
CAS "sept" : nMois = 9
CAS "oct" : nMois = 10
CAS "nov" : nMois = 11
CAS "déc" : nMois = 12
FIN
FIN
dDateHeure..Année = nAnnee
dDateHeure..Mois = nMois
dDateHeure..Mois = nMois
dDateHeure..Jour = nJour
RENVOYER dDateHeure
proConvertirDateDeExcel("31-mars-08 12:02:58","-") Renvoi "20080331120258" proConvertirDateDeExcel("22/08/2007 11:01:41) Renvoi "20070822110141"
Contribution le : 28/04/2008 11:40
|
|
|
Re: PB SUR XLSDONNEE SUR UN FORMAT DE CELLULE TRES SPECIAL |
|
Stagiaire WDF
Inscrit: 11/03/2008 15:40
De France
Post(s): 5
|
Le code fourni fonctionne bien, avec le format de cellule précisé. Cependant le problème vient plutôt au niveau de la chaîne retourné par excel. En effet le contenu de la cellule fournie est comme précisé mais la châine retournée est "31/03/2008".
Je crois que je vais renoncer malgré votre aide. Car en fait il faudrait pouvoir formater une colonne à un format spécifique, et je crois que cela n'est pas possible.
Contribution le : 28/04/2008 15:48
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|