//dbl est un entier = 0
//nDoublon est un entier
nPos est un entier = 0
stClient est une structure
IDClients est un entier
Nom est un Variant
Prénom est un Variant
Difficultes est un Variant
Pai est un Variant
Suivi est un Variant
Suites est un Variant
Date est un Variant
FIN
tmpClient est un stClient
i est un entier
t est un entier
nXls est un entier
nbCol est un entier
nbLig est un entier
nXls = xlsOuvre("testdoublon.xls")
nbCol = xlsNbColonne(nXls)
nbLig = xlsNbLigne(nXls)
HStatNbDoublon(Client,IDClients)
HCréationSiInexistant(Client)
HGèreIntégrité("*", "*", hCardinalité + hEnModification + hEnSuppression, Faux)
HGèreDoublon(Client,"*",Faux)
POUR T=2 A nbLig
POUR i=1 A nbCol
SELON i
CAS 2: Client.Nom = xlsDonnée(nXls,t,i)
CAS 3: Client.Prénom = xlsDonnée(nXls,t,i)
CAS 4: Client.Difficultes = xlsDonnée(nXls,t,i)
CAS 5: Client.Pai = xlsDonnée(nXls,t,i)
CAS 6: Client.Suivi = xlsDonnée(nXls,t,i)
CAS 7: Client.Suites = xlsDonnée(nXls,t,i)
CAS 8: Client.Date = xlsDonnée (nXls,t,i)
// On sauvegardes les données en mémoire
tmpClient:IDClients = Client.IDClients
tmpClient:Nom = Client.Nom
tmpClient:Prénom = Client.Prénom
tmpClient:Difficultes = Client.Difficultes
tmpClient:Pai = Client.Pai
tmpClient:Suivi = Client.Suivi
tmpClient:Suites = Client.Suites
tmpClient:Date = Client.Date
// Sauve le contexte en cours
nPos = HSauvePosition(Client,Nom) // Pour WD11 : Utiliser nPos = HSauvePosition(Client,Nom,hSauveRubriques) a la place de la structure, puis enlever tout ce qui touche a tmpClient
HLitRecherche(Client,Nom,tmpClient:Nom,hIdentique) // hIdentique : Pour eviter que Dupont et Dupontel soient détectés en doublon.
SI PAS HTrouve ALORS
HRestorePosition(nPos)
// On restaure
Client.IDClients = tmpClient:IDClients
Client.Nom = tmpClient:Nom
Client.Prénom = tmpClient:Prénom
Client.Difficultes = tmpClient:Difficultes
Client.Pai = tmpClient:Pai
Client.Suivi = tmpClient:Suivi
Client.Suites = tmpClient:Suites
Client.Date = tmpClient:Date
HAjoute(Client,hAffecteParcours)
FIN
FIN
FIN
FIN
//SI HStatNbDoublon() >= 1 ALORS
// dbl = 1
//FIN
//SI dbl = 1 ALORS
// nDoublon = HLitRecherche(Client,IDclients,dbl)
// HSupprime(Client,nDoublon,hVérifieIntégrité)
//FIN
xlsFerme(nXls)
SI HErreurIntégrité() = Vrai OU HErreurDoublon() = Vrai ALORS
Erreur("Une erreur c'est produite, veuillez recommencer")
SINON
Info("L'importation s'est déroulée avec succès.")
FIN
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5246&post_id=21673