|
importer les données d'un fichier excel |
Débuté par masdivers, 07 fév. 2006 17:25 - 3 réponses |
| |
| | | |
|
| |
Posté le 07 février 2006 - 17:25 |
Bonjour,
est-ce que quelqu'un pourrait m'aider sur ce sujet ?
Voici le problème :
j'ai importé les données d'un fichier excel grâce à la fonction himportetexte et tout c'est bien passé pour un fichier de type texte. Pour un second fichier, la partie date posait problème lors de la récupération. Sous Excel, je ne sais pas comment convertir automatiquement le champ date en AAAAMMJJ la seule chose que je puisse faire c'est AAAA-MM-JJ. Il y a sûrement une astuce, mais.... ???
Quelqu'un a-t'il déjà rencontré ce problème ? Si oui, merci pour toute aide que vous pourriez m'apporter.
Cordiales salutations |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2006 - 17:42 |
Bonjour ChaineVersDate() Code d'importation Excel
//Importation du fichier Excel
NomFichierXls = fSélecteur(WcheminRecup,"Materiel.XLS","Sélection d'un fichier xls","Excel"+TAB+"*.xls","xls") //Si la séléction est annulée, arrêt de la procédure SI NomFichierXls = "" ALORS RETOUR //Import du fichier //Ouverture du fichier NumFichierXls = xlsOuvre(NomFichierXls) //Si le fichier ne s'ouvre pas, message d'erreur SI NumFichierXls = -1 ALORS Erreur("Impossible d'ouvrir le fichier "+NomFichierXls+RC+... "Veuillez vérifier le format de ce fichier") RETOUR FIN HCréation(Matériel) Sablier(Vrai) Multitâche(100) HGèreIntégrité(Faux) HGèreDoublon(Faux) //Nombre de lignes à importer Iter = 0 NbLigneXls = xlsNbLigne(NumFichierXls) //Boucle sur le nombre de ligne // Prend le premier identifiant POUR Iter = 2 A NbLigneXls HRAZ(Matériel) Matériel.IDMatériel=xlsDonnée(NumFichierXls,Iter,1) Matériel.Nom_Mat=xlsDonnée(NumFichierXls,Iter,2) Matériel.Dat_Ach=ChaîneVersDate(xlsDonnée(NumFichierXls,Iter,4)) Matériel.Dat_Sor=ChaîneVersDate(xlsDonnée(NumFichierXls,Iter,11)) Matériel.Pri_Ach=xlsDonnée(NumFichierXls,Iter,5) Matériel.Dat_fin=ChaîneVersDate(xlsDonnée(NumFichierXls,Iter,7)) Matériel.Num_Ser=xlsDonnée(NumFichierXls,Iter,3) Matériel.Garantie=xlsDonnée(NumFichierXls,Iter,6) Matériel.Num_Int=xlsDonnée(NumFichierXls,Iter,1) Matériel.Reference=xlsDonnée(NumFichierXls,Iter,2) Matériel.Obs_Mat="" HLitRecherche(Mat_Marque,Nom_Typ,xlsDonnée(NumFichierXls,Iter,9)) Matériel.IDMat_Marque=Mat_Marque.IDMat_Marque Matériel.IDMat_Etat=5 HLitRecherche(Mat_Type,Nom_Typ,xlsDonnée(NumFichierXls,Iter,) Matériel.IDMat_Type=Mat_Type.IDMat_Type Matériel.IDConfMat=0 HLitRecherche(Fournisseur,Societe,xlsDonnée(NumFichierXls,Iter,10)) Matériel.IDFournisseur=Fournisseur.IDFournisseur Matériel.Num_Auto=2 HAjoute(Matériel,hFixeIdAuto) //Mis à jour de la jauge Jauge(Iter,NbLigneXls,"Importation en cours Matériel "+Iter+"/"+NbLigneXls) FIN //Fermeture du fichier xls xlsFerme(NumFichierXls) //Réaffichage de la table Jauge()
Sablier(Faux) HGèreDoublon(Vrai) HGèreIntégrité(Vrai) Message("Terminé") |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2006 - 17:53 |
utilise la fonction ChaineVersDate
exemple:
--------------------------------------------------------- Res=ChaîneVersDate("2001-11-04","AAAA-MM-JJ") ----------------------------------------------------------
résultat la variable res reçoit "2001104"
ps: res est une date |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2006 - 18:07 |
Merci Alain,
Il faut que je te précise que le fichier Excel comporte les mêmes rubriques que le fichier décrit sous mon projet Windev.
Est-ce que cela change les données car hcréation... ???
Merci pour ta réponse,
Cordialement |
| |
| |
| | | |
|
| | | | |
| | |
|