PROCEDURE ImporterDonnees(NomEta est une chaîne = "Donnee")
t est un entier
nXls est un entier
nbLigne est un entier
selecteur est une chaîne
selecteur = fSélecteur("", "", "Sélectionnez un fichier à importer", "Fichier Excel"+TAB+"*.xls", "*.xls", fselOuvre+fselExiste)
SI selecteur = "" ALORS RETOUR
nXls = xlsOuvre(selecteur)
nbLigne = xlsNbLigne(nXls)
HGèreIntégrité("*", "*", hCardinalité + hEnModification + hEnSuppression, Faux)
HGèreDoublon(NomEta,"*",Faux)
POUR t=2 A nbLigne
// On filtre le fichier sur les deux conditions
HFiltre(NomEta, "Nom='"+xlsDonnée(nXls,t,1)+"' ET Date_int='"+xlsDonnée(nXls,t,4)+"'")
// on lit le premier enregistrement (s'il en existe un) qui correspond aux conditions...
HLitPremier(NomEta, hRespecteFiltre)
// Si HEnDehors alors cela veut dire qu'il n'y en a aucun, on peut donc ajouter
SI HEnDehors() ALORS
{NomEta + ".Nom",indRubrique} = xlsDonnée(nXls,t,1)
{NomEta + ".Rs",indRubrique} = xlsDonnée(nXls,t,2)
{NomEta + ".A_voir",indRubrique} = xlsDonnée (nXls,t,3)
{NomEta + ".Date_int",indRubrique} = xlsDonnée (nXls,t,4)
{NomEta + ".Classes",indRubrique} = xlsDonnée(nXls,t,5)
{NomEta + ".Difficultes",indRubrique} = xlsDonnée(nXls,t,6)
{NomEta + ".Pai",indRubrique} = xlsDonnée(nXls,t,7)
{NomEta + ".Suivi",indRubrique} = xlsDonnée(nXls,t,8)
{NomEta + ".Suites",indRubrique} = xlsDonnée(nXls,t,9)
{NomEta + ".Notes",indRubrique} = xlsDonnée(nXls,t,10)
{NomEta + ".archiver",indRubrique} = xlsDonnée (nXls,t,11)
// Puis on ajoute
SI PAS HAjoute(NomEta) ALORS
Trace(HErreurInfo())
FIN
FIN
FIN
// On ferme le fichier Xls
xlsFerme(nXls)
// Puis on désactive le filtre
HDésactiveFiltre(NomEta)
// Et enfin, on vérifie les erreurs
SI HErreurIntégrité() = Faux OU HErreurDoublon()=Faux ALORS
Info("L'importation s'est déroulée avec succès !")
SINON
Erreur("Une erreur s'est produite, veuillez ré-essayer.")
FIN
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5399&post_id=22280