1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Importation de fichier csv

Discussion dans 'Sujets Divers' créé par Adaeberenger18@gmail, Sept 25, 2020.

  1. Adaeberenger18@gmail

    Inscrit:
    Sept 18, 2020
    Messages:
    1
    J'aime reçus:
    0
    Bonsoir Chers amis j espéré que vous allez m aider et merci d avance .j ai déjà un code qui importe déjà des fichiers excel cependant en plus des fichiers excelle je veux pouvoir importer des fichiers Csv et je sais pas comment merci de m aider .
    ceci est mon code d imoportation
    /////////////////////////////////////
    SI SAI_feuille<=0 OU SansEspace(SAI_feuille)="" ALORS
    Info("Renseignez le numéro de feuille")
    RETOUR
    SINON
    nFeuille=SAI_feuille
    FIN

    SI SAI_ligne<=0 OU SansEspace(SAI_ligne)="" ALORS
    Info("Renseignez la ligne de debut")
    RETOUR
    SINON
    nLigneDebut=SAI_ligne
    FIN

    SI SAI_ligneFin<=0 OU SansEspace(SAI_ligneFin)="" ALORS
    nLigneFin=0
    SINON
    nLigneFin=SAI_ligneFin
    FIN


    valide est un booléen = Faux
    //
    FichierXls est un xlsDocument
    // Ouvre le sélecteur de fichiers (en filtrant les fichiers excel)
    CheminFichier est chaîne = fSélecteur("", "", "Sélectionnez un fichier.....", "Document Excel (*.xls; *.xlsx)" + TAB + "*.xls;*.xlsx", "*.xls;*.xlsx")

    ////////////////////VERIFICATION SI LE FICHIER A ETE OUVERT AVEC SUCCES
    SI fFichierExiste(CheminFichier) ALORS
    // Ouvre le fichier indiqué
    FichierXls =xlsOuvre(CheminFichier)
    SI ErreurDétectée ALORS
    Erreur(ErreurInfo())
    Info("Si le fichier est ouvert ,fermez le fichier avant l'importation")
    RETOUR
    FIN
    //LA FEUILLE DU FICHIER A MANIPULER
    SI xlsFeuilleEnCours(FichierXls,nFeuille)=Vrai ALORS
    //
    SINON
    Info("le document ne comporte pas"+nFeuille+" de feuille ")
    RepriseSaisie(SAI_feuille)
    FIN
    FIN



    SI ErreurDétectée ALORS
    Erreur(ErreurInfo())
    valide=Faux
    SINON

    //variable
    i,nbrLigneFeuille,nLignDeFin est un entier=0

    SI fFichierExiste(CheminFichier) ALORS

    nbrLigneFeuille = xlsNbLigne(FichierXls,Faux)

    //////////////////////////fixe la ligne de fin d'importation avec verification
    nLignDeFin = nbrLigneFeuille
    SI nLigneFin<=0 ALORS
    nLignDeFin=nbrLigneFeuille
    SINON
    SI nLigneFin<=nbrLigneFeuille ALORS
    nLignDeFin=nLigneFin
    SINON
    nLignDeFin=nbrLigneFeuille
    FIN
    FIN
    ///////////////////////////////////////////////////////////////////

    ///////////nombre de ligne
    nNbrtotLigne est un entier=(nLignDeFin-nLigneDebut)+1
    b est un entier = 0
    nOrdreDocumentPourBoucle est un entier
    //parcours des enregistrements du fichier
    POUR i=nLigneDebut À nLignDeFin


    SI FichierXls <> -1 ALORS
    JAUGE_Jauge..Visible = Vrai
    JAUGE_Jauge..Valeur = (i*100)/nNbrtotLigne

    // bOkImport est un booléen=0

    // sCodeR=(xlsDonnée(FichierXls,i,nCode,faux))
    // sLibR=(xlsDonnée(FichierXls,i,nLib,faux))
    xlsDonnée(FichierXls,i,SAI_numero,Faux)
    SI HLitRecherchePremier(PLAN_COMPTABLE,PC_NO_COMPTE, xlsDonnée(FichierXls,i,SAI_numero,Faux),hIdentique)=Vrai ALORS
    Info("Ce numéro de compte existe deja")
    // retour
    SINON
    HRAZ(PLAN_COMPTABLE)
    PLAN_COMPTABLE.PC_NO_COMPTE=xlsDonnée(FichierXls,i,SAI_numero,Faux)
    PLAN_COMPTABLE.PC_INTITULE_COMPTE=xlsDonnée(FichierXls,i,SAI_intitule,Faux)
    PLAN_COMPTABLE.PC_CATEGORIE=1
    SI Taille(xlsDonnée(FichierXls,i,SAI_numero,Faux))<=3 ALORS
    PLAN_COMPTABLE.PC_TYPE=1
    Info(PLAN_COMPTABLE.PC_TYPE)
    SINON
    PLAN_COMPTABLE.PC_TYPE=2
    Info(PLAN_COMPTABLE.PC_TYPE)
    FIN
    Info(xlsDonnée(FichierXls,i,SAI_numero,Faux))
    Info(xlsDonnée(FichierXls,i,SAI_intitule,Faux))
    PLAN_COMPTABLE.PC_INACTIFS = 1
    HAjoute(PLAN_COMPTABLE)
    // EcranVersFichier()
    FIN


    valide=Vrai
    SINON
    Erreur("Le fichier Execel n'existe pas")
    FIN
    FIN
    FIN
    FIN
    //message de fin d'importation
    SI valide=Faux ALORS
    Info("Une erreur a été détectée pendant le traitement")
    Ferme()
    SINON
    Info("traitement effectué avec succès")
    Ferme()
    FIN
     
    Tags:
  2. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,882
    J'aime reçus:
    1,532
    Il est plus simple d'importer un csv
    Car c'est un simple fichier texte où la première ligne contient les noms des collones séparé par un point virgule.
    Toutes les autres lignes sont les données séparé par un point virgule.
    Il y a juste un souci :
    Selon le système d'exploitation d'origine
    Chaque ligne est séparé soit par un retour chariot (RC) sous Windows
    Ou un simple caractères 10 pour les autres systèmes d'exploitation.
    Donc avec des pour toute ligne séparé par
    Puis pour tout élément séparé par un point virgule
    Tu devrais récupérer les informations
    Il peut y avoir besoin de la gestion de l'unicode et ANSI
    La je pense ne rien avoir oublié.
     
    Man, Fouedusa et WX1331 aiment ça.
  3. Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Il est plus simple d'importer un csv
    Car c'est un simple fichier texte où la première ligne contient les noms des collones séparé par un point virgule.
    Toutes les autres lignes sont les données séparé par un point virgule.
    Il y a juste un souci :
    Selon le système d'exploitation d'origine
    Chaque ligne est séparé soit par un retour chariot (RC) sous Windows
    Ou un simple caractères 10 pour les autres systèmes d'exploitation.
    Donc avec des pour toute ligne séparé par
    Puis pour tout élément séparé par un point virgule
    Tu devrais récupérer les informations
    Il peut y avoir besoin de la gestion de l'unicode et ANSI
    La je pense ne rien avoir oublié.
    Cliquez pour agrandir...
    Bonsoir à vous à l'intervention de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    sur la gestion d'un CSV
    Voici le lien qui resolvera
     
  • akzo81

    akzo81 Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    47
    J'aime reçus:
    24
    bonjour,
    si tu connais les champs par avance de ton fichier .cvs

    nIdFichierXLs= fOuvre(sFichierSelectionné , foLectureEcriture)
    SI nIdFichierXLs<> - 1 ALORS
    HOuvre(Table)

    sChaineLecture = fLitLigne(nIdFichierXLs) //on lit une ligne
    TANTQUE sChaineLecture<> EOT //Tant que je ne suis pas à la fin du fichier
    HRAZ(TableCmdLocal)
    SI ChaîneCommencePar(SansEspace(ExtraitChaîne( sChaineLecture,3,";",DepuisDébut)),1) ALORS
    Table.1 = SansEspace(ExtraitChaîne( sChaineLecture,3,";",DepuisDébut))
    Table.2 = SansEspace(ExtraitChaîne( sChaineLecture,4,";",DepuisDébut))
    Table.3 = SansEspace(ExtraitChaîne( sChaineLecture,5,";",DepuisDébut))
    Table.4 = SansEspace(ExtraitChaîne( sChaineLecture,6,";",DepuisDébut))
    Table.5 = SansEspace(ExtraitChaîne( sChaineLecture,7,";",DepuisDébut))
    Table.6 = SansEspace(ExtraitChaîne( sChaineLecture,8,";",DepuisDébut))
    Table.7 = SansEspace(ExtraitChaîne( sChaineLecture,9,";",DepuisDébut))
    etc.....

    HAjoute(Table)
    sChaineLecture=fLitLigne(nIdFichierXLs) //On passe à la ligne suivante
    SINON
    sChaineLecture=fLitLigne(nIdFichierXLs) //On passe à la ligne suivante
    FIN

    FIN
    fFerme(nIdFichierXLs)
    SINON
    Info("Le fichier est introuvable.")
    FIN

    tu remplaces table.1 par TaTable.Tacolonne ca devrais fonctionner
    puis ta table vers une base sera facile
    cordialement
     
  • nanou

    nanou New Member
    MEMBRE WX

    Inscrit:
    Jan 22, 2018
    Messages:
    17
    J'aime reçus:
    20
    Vous avez un exemple WD TableurAssistantCSV sur la LST127 ...
     
  • C-ba

    C-ba New Member

    Inscrit:
    Juil 22, 2022
    Messages:
    3
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Vous avez un exemple WD TableurAssistantCSV sur la LST127 ...
    Cliquez pour agrandir...
    Salut

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    et tous les autres bien sûr :biggrin:
    Aurais-tu cette LST 127 ???
    Pas moyen de la trouver...
    Merci d'avance pour ton retour ;)
    C-ba
     
  • Partager cette page

    Chargement...