1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| nIdFic=fOuvre(Fichiercsv,foLecture)
SI nIdFic=-1 ALORS
Erreur("Impossible d'ouvrir le fichier.",...
"Vérifier qu'il n'est pas déjà ouvert sur une autre
application.",xlsMsgErreur(nIdFic))
RETOUR
FIN
TableSupprimeTout(TableImport)
sLigne= fLitLigne(nIdFic)
Premiere ligne contenant les données
nPremièreLigne = 1
sinon
nPremièreLigne=2
nNbColonnes est un entier= ChaîneOccurrence(sLigne, ";")+1
TANTQUE sLigne <> EOT
// on remplit la table mémoire
TableAjouteLigne(TableImport)
// on construit la ligne lue
POUR nColonne =1 A nNbColonnes
sdonnee=ExtraitChaîne(sLigne,nColonne,";")
SI sdonnee=EOT ALORS
{"Colonne"+nColonne}[TableOccurrence(Table)]=""
SINON
// Je traite si il y a des guillemets
guillemet=sdonnee
SI ChaîneOccurrence(guillemet,gCO_Guillemet)>1 ALORS
SI Gauche(guillemet,1)=gCO_Guillemet ALORS
guillemet=Milieu(guillemet,2,Taille(guillemet)-1)
SI Droite(guillemet,1)=gCO_Guillemet ALORS
guillemet=Gauche(guillemet,Taille(guillemet)-1)
TANTQUE ChaîneOccurrence(guillemet,gCO_Guillemet+gCO_Guillemet)<&g
t;0
guillemet=Remplace(guillemet,gCO_Guillemet+gCO_Guillemet,gCO_Guillemet)
FIN
FIN
{"Colonne"+nColonne}[TableOccurrence(TableImport)]=guillemet
FIN
// si c'est un numérique
SI NumériqueVersChaine(Val(sdonnee))=sdonnee ALORS
{"Colonne"+nColonne}..CadrageHorizontal=iDroite
SINON
{"Colonne"+nColonne}..CadrageHorizontal=iGauche
FIN
FIN
sLigne = fLitLigne(nIdFic)
FIN |
Partager