Forums développeurs windev

Version complète : Pb avec des Dates à l' import d' Excel ....
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
BJR Tout le Monde
Merci à l' Avance pour Votre AIde ....

Voilà ,j' ai le souci suivant . Je suis en WD9
Je fais un import de Données depuis un fichier .xls vers un .FIC
Une date correcte dans une celllule Excel me donne au transfert des choses absolument bizarres !!!!
Je sais qu' Excel et WD gèrent de menière différente les Dates .
Comment solver ce problème ? Et Merci encore . 
Lhassane
(11-07-2015, 05:16 PM)BOURBAKI a écrit : [ -> ]BJR Tout le Monde
Merci à l' Avance pour Votre AIde ....

Voilà ,j' ai le souci suivant . Je suis en WD9
Je fais un import de Données depuis un fichier .xls vers un .FIC
Une date correcte dans une celllule Excel me donne au transfert des choses absolument bizarres !!!!
Je sais qu' Excel et WD gèrent de menière différente les Dates .
Comment solver ce problème ? Et Merci encore . 
Lhassane
Salut voir chaîneversdate. Car excel ramène une chaine donc converti avant ton hajoute. 
Merci gaymath2

J' ai essayé ... Cela ne donne rien !!
pour te préciser davantage .
C'est un Fichier .FIC en WD 12   que je veux transférer dans une Appli en WD9
Comme la compatibilité est ascendante , j' ai recours à un transfert indirect via Excel
WD12 -----> Excel ------> WD9

C'est réellement foireux ce problème .
Je sais qu' il est récurrent ....

Lhassane
Bonjour,

Bourbaki a dit: "Excel me donne au transfert des choses absolument bizarres !!!!"

Peux-tu publier la date (date chaîne) retournée par Excel ou mieux publier une ou deux lignes du fichier xls.

Car pour moi un fichier "*.fic" qu'importe la version, exporté vers Excel sera toujours un fichier xls de la version Excel en cours dans les deux sens.

...
(12-07-2015, 06:37 AM)Samifred a écrit : [ -> ]Bonjour,

Bourbaki a dit: "Excel me donne au transfert des choses absolument bizarres !!!!"

Peux-tu publier la date (date chaîne) retournée par Excel ou mieux publier une ou deux lignes du fichier xls.

Car pour moi un fichier "*.fic" qu'importe la version, exporté vers Excel sera toujours un fichier xls de la version Excel en cours dans les deux sens.

...
salut
Je pense que Boubaki avait mal posé son problème. Je suis d'avis avec samifred, il vaut mieux poster brique de code afin qu'on puisse te donner un coup de main. 
BJR à Vous Deux
Gaymath2  et Samifred ......

Pour faire cette Opération , j' ai dans un Bouton le Code suivant en Clic :


Code :
SI ObjetActif("Excel.Application") <> Null ALORS
    // Récupération de l'instance de Excel existante
    EXCAPP = ObjetActif("Excel.Application")
SINON
    // Allocation de l'objet automation "MaFeuilleXLS"
    EXCAPP = allouer un objet Automation "Excel.Application"
FIN


EXCAPP>>Workbooks>>Open("C:\Mes Projets\FACTURATION 9\Exe\LOG060.xls")
// LOG060.xls est le Fichier Excel récupéré du Fichier LOG060.FIC en WD12
EXCF=EXCAPP>>ActiveSheet

i est un entier
POUR i=1 A EXCF>>Cells(1,1)>>CurrentRegion>>Rows>>Count
    LOG060.PRCODE=EXCF>>Cells(i,1)>>value
    LOG060.PRDESIG=EXCF>>Cells(i,2)>>Value
    LOG060.CACODE=EXCF>>Cells(i,3)>>Value
    LOG060.FOCODE=EXCF>>Cells(i,4)>>value
    LOG060.PRGROS=EXCF>>Cells(i,5)>>Value
    LOG060.FTCODE=EXCF>>Cells(i,6)>>Value
    LOG060.PRDMAJ=EXCF>>Cells(i,21)>>Value // 1ère Date qui cause Souci
    LOG060.PRDDV=EXCF>>Cells(i,22)>>Value  // 2ème Date qui cause Souci
    LOG060.PRDDC=EXCF>>Cells(i,23)>>Value  // 3ème Date ....
    LOG060.PRDDL=EXCF>>Cells(i,24)>>Value  // 4ème Date ....
//  Ce LOG060.FIC est l ' analogue en WD9    
    HAjoute(LOG060)
FIN

libérer EXCAPP
libérer EXCF
Je dois rajouter que les Dates SONT CORRECTES sur le Fichier WD12 d' Origine et le Fichier Excel exporté . MMon Problème se localise quand j' importe ce fichier Excel dans un Fichier analogue ( en WD9 ) , les Dates sont tarabiscottées et j' obtiens par exemple des dates de ce Style :

__/02/4184


Merci pour Votre Bienveillanc e et Très Bon Dimanche .  Lhassane
Bonjour à Vous ....
J'ai aussi essayé ce Code sur Clic Bouton
Utilisant les fonctions xlsOuvre et xlsDonnée  de WD9
Mais aucun résultat acceptable ....
Code :
SAI_Saisie1 est une chaîne
SAI_Saisie1= ComplèteRep(fRepExe())+"LOG060.xls"
IdFic est un entier
ResNbLigne est un entier
i est un entier
IdFic = xlsOuvre(SAI_Saisie1)
ResNbLigne = xlsNbLigne(IdFic)
SI IdFic<>-1 ALORS
    
    POUR i=1 A ResNbLigne
        
        LOG060.PRCODE=xlsDonnée(IdFic,i,1)
        LOG060.PRDESIG=xlsDonnée(IdFic,i,2)
        LOG060.CACODE=xlsDonnée(IdFic,i,3)
        LOG060.FOCODE=xlsDonnée(IdFic,i,4)
        LOG060.PRGROS=xlsDonnée(IdFic,i,5)
        LOG060.FTCODE=xlsDonnée(IdFic,i,6)
        LOG060.PRDMAJ=xlsDonnée(IdFic,i,20) // Cellule à problème
        LOG060.PRDDV=xlsDonnée(IdFic,i,21) // Cellule à problème
        LOG060.PRDDC=xlsDonnée(IdFic,i,22) // Cellule à problème
        LOG060.PRDDL=xlsDonnée(IdFic,i,23) // Cellule à problème
        
        
        
        HAjoute(LOG060)
        
    FIN
    
SINON
    Erreur("Le fichier excel est ouvert!"+RC+"Veuillez le fermer avant de continuer.")
    RETOUR
FIN


// Fermeture du fichier
xlsFerme(IdFic)





Je vais devoir laisser Tomber Excel et essayer en faisant un Transfert de Données sur fichier .TXT

J' attends Vos Suggestions et Merci !!!
Bonjour,

Dans mon précédent message j'avais demandé un extrait du fichier Excel original que tu importes, deux trois lignes pour tester.

...
(13-07-2015, 02:00 PM)BOURBAKI a écrit : [ -> ]Bonjour à Vous ....
J'ai aussi essayé ce Code sur Clic Bouton
Utilisant les fonctions xlsOuvre et xlsDonnée  de WD9
Mais aucun résultat acceptable ....

Code :
SAI_Saisie1 est une chaîne
SAI_Saisie1= ComplèteRep(fRepExe())+"LOG060.xls"
IdFic est un entier
ResNbLigne est un entier
i est un entier
IdFic = xlsOuvre(SAI_Saisie1)
ResNbLigne = xlsNbLigne(IdFic)
SI IdFic<>-1 ALORS
    
    POUR i=1 A ResNbLigne
        
        LOG060.PRCODE=xlsDonnée(IdFic,i,1)
        LOG060.PRDESIG=xlsDonnée(IdFic,i,2)
        LOG060.CACODE=xlsDonnée(IdFic,i,3)
        LOG060.FOCODE=xlsDonnée(IdFic,i,4)
        LOG060.PRGROS=xlsDonnée(IdFic,i,5)
        LOG060.FTCODE=xlsDonnée(IdFic,i,6)
        LOG060.PRDMAJ=xlsDonnée(IdFic,i,20) // Cellule à problème
        LOG060.PRDDV=xlsDonnée(IdFic,i,21) // Cellule à problème
        LOG060.PRDDC=xlsDonnée(IdFic,i,22) // Cellule à problème
        LOG060.PRDDL=xlsDonnée(IdFic,i,23) // Cellule à problème
        
        
        
        HAjoute(LOG060)
        
    FIN
    
SINON
    Erreur("Le fichier excel est ouvert!"+RC+"Veuillez le fermer avant de continuer.")
    RETOUR
FIN


// Fermeture du fichier
xlsFerme(IdFic)





Je vais devoir laisser Tomber Excel et essayer en faisant un Transfert de Données sur fichier .TXT

J' attends Vos Suggestions et Merci !!!

salut

Code :
         LOG060.PRDMAJ=Chaineversdate(xlsDonnée(IdFic,i,20)) // Cellule à problème
        LOG060.PRDDV=chaineversdate(xlsDonnée(IdFic,i,21)) // Cellule à problème
        LOG060.PRDDC=cahineversdate(xlsDonnée(IdFic,i,22)) // Cellule à problème
        LOG060.PRDDL=chaineversdate(xlsDonnée(IdFic,i,23)) // Cellule à problème
Celà devrait marcher.