Bonjour Merci pour vos réponses. Effectivement je suis dans le cas de l'exemple de Voroltinquo (Ville et Département). Dans tous les cas j'ai aussi du faire une erreur dans mon code d'import (d'après fichier excel). Voir ci dessous : SELON SEL_FICHIER CAS 1 //mise à jour STRUCTURE PROJET AVEC LISTE ITEMS SI OuiNon("Voulez mettre à jour la Liste des Items ?") POUR i = 2 À xlsNbLigne(MonDocXLS) SI HLitRecherchePremier(STRUCTURE_PROJET,NumNAF,SansEspace(xlsDonnée(MonDocXLS,i,1,Faux)))=Vrai ALORS Info("Enregistrement existant") SINON HRAZ(STRUCTURE_PROJET) STRUCTURE_PROJET.NumProjet=SansEspace(xlsDonnée(MonDocXLS,i,1,Faux)) STRUCTURE_PROJET.NumSection=SansEspace(xlsDonnée(MonDocXLS,i,2,Faux)) STRUCTURE_PROJET.NumItem=SansEspace(xlsDonnée(MonDocXLS,i,3,Faux)) STRUCTURE_PROJET.NumNAF=SansEspace(xlsDonnée(MonDocXLS,i,4,Faux)) STRUCTURE_PROJET.Designation=SansEspace(xlsDonnée(MonDocXLS,i,5,Faux)) STRUCTURE_PROJET.Scope=SansEspace(xlsDonnée(MonDocXLS,i,6,Faux)) HAjoute(STRUCTURE_PROJET) FIN FIN Info("Mise à jour terminée.") ChangeFenêtreSource(CFI_MAJ,FI_LISTE_ITEM) FIN CAS 2 // mise à jour DONNEES DELAIS SI OuiNon("Voulez mettre à jour les délais ?") POUR i = 2 À xlsNbLigne(MonDocXLS) //Faire test intégrité sur NumNAF dans STRUCTURE PROJET //SI HLitRecherchePremier(STRUCTURE_PROJET,NumNAF,SansEspace(xlsDonnée(MonDocXLS,i,1,Faux)))=Faux alors // Info("Item inexistant") //SINON SI HLitRecherchePremier(INDICATEUR_DELAI,NumNAF,SansEspace(xlsDonnée(MonDocXLS,i,1,Faux)))=Vrai ET HLitRecherchePremier(INDICATEUR_DELAI,DateModif,DateDuJour())=Vrai ALORS Info("Enregistrement existant") SINON HRAZ(INDICATEUR_DELAI) // traitement informations générales INDICATEUR_DELAI.NumNAF =SansEspace(xlsDonnée(MonDocXLS,i,1,Faux)) INDICATEUR_DELAI.IndiceRev =SansEspace(xlsDonnée(MonDocXLS,i,3,Faux)) INDICATEUR_DELAI.NbBC =Val(xlsDonnée(MonDocXLS,i,4,Faux)) // traitement informations "dates" - pour les dates réelles ce sont les 1ere dates et non la dernière - comment transformer en n° semaine / année INDICATEUR_DELAI.PrevueBE =ChaîneVersDate(xlsDonnée(MonDocXLS,i,5,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.ReviseeBE =ChaîneVersDate(xlsDonnée(MonDocXLS,i,6,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.ReelleBE =ChaîneVersDate(xlsDonnée(MonDocXLS,i,7,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.PrevueBC =ChaîneVersDate(xlsDonnée(MonDocXLS,i,10,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.ReelleBC =ChaîneVersDate(xlsDonnée(MonDocXLS,i,11,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.PrevueRec =ChaîneVersDate(xlsDonnée(MonDocXLS,i,14,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.ReelleRec =ChaîneVersDate(xlsDonnée(MonDocXLS,i,19,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.PrevueCont =ChaîneVersDate(xlsDonnée(MonDocXLS,i,22,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.ReelleCont =ChaîneVersDate(xlsDonnée(MonDocXLS,i,23,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.PrevueExp =ChaîneVersDate(xlsDonnée(MonDocXLS,i,26,Faux),"jj/mm/aaaa") INDICATEUR_DELAI.ReelleExp =ChaîneVersDate(xlsDonnée(MonDocXLS,i,27,Faux),"jj/mm/aaaa") // traitement informations durées avec test numériques SI EstNumérique(xlsDonnée(MonDocXLS,i,26,Faux))=Vrai ALORS INDICATEUR_DELAI.JoursBE =Val(xlsDonnée(MonDocXLS,i,31,Faux)) INDICATEUR_DELAI.JoursBC =Val(xlsDonnée(MonDocXLS,i,32,Faux)) INDICATEUR_DELAI.JoursRec =Val(xlsDonnée(MonDocXLS,i,33,Faux)) INDICATEUR_DELAI.JoursCont =Val(xlsDonnée(MonDocXLS,i,34,Faux)) INDICATEUR_DELAI.JoursExp =Val(xlsDonnée(MonDocXLS,i,35,Faux)) FIN // date de modification correspondant à la date du jour INDICATEUR_DELAI.DateModif =DateDuJour() HAjoute(INDICATEUR_DELAI) FIN //FIN FIN Info("Mise à jour terminée.") ChangeFenêtreSource(CFI_MAJ,FI_DELAI) FIN CAS 3 // mise à jour DONNEES BUDGETS SI OuiNon("Voulez mettre à jour les Budgets ?") POUR i = 2 À xlsNbLigne(MonDocXLS) //Faire test intégrité sur NumNAF dans STRUCTURE PROJET SI PAS SansEspace(xlsDonnée(MonDocXLS,i,2,Faux))="" ALORS HRAZ(INDICATEUR_BUDGET) INDICATEUR_BUDGET.NumNAF =SansEspace(xlsDonnée(MonDocXLS,i,1,Faux)) INDICATEUR_BUDGET.SectionCout =SansEspace(xlsDonnée(MonDocXLS,i,2,Faux)) INDICATEUR_BUDGET.PrixVente =Val(xlsDonnée(MonDocXLS,i,3,Faux)) INDICATEUR_BUDGET.CoutBudget =Val(xlsDonnée(MonDocXLS,i,4,Faux)) INDICATEUR_BUDGET.CoutEngage =Val(xlsDonnée(MonDocXLS,i,5,Faux)) INDICATEUR_BUDGET.CoutRealise =Val(xlsDonnée(MonDocXLS,i,6,Faux)) INDICATEUR_BUDGET.CoutRestant =Val(xlsDonnée(MonDocXLS,i,7,Faux)) INDICATEUR_BUDGET.DateModif =DateDuJour() HAjoute(INDICATEUR_BUDGET) FIN FIN Info("Mise à jour terminée.") ChangeFenêtreSource(CFI_MAJ,FI_BUDGET) FIN FIN |