IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Importer données XLS vers Windev


Sujet :

WinDev

  1. #1
    Inactif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2009
    Messages : 52
    Points : 1
    Points
    1
    Par défaut Importer données XLS vers Windev
    Bonjour , j'essaie d'importer les données d'un fichier excel vers ma table mais il m'affiche un erreur disant qu'il ne reconnait pas la colonne Matricule, voici le code et le message d'erreur:

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    //sélecteur de fichier
    Sel est une chaîne
    Sel=fSélecteur(choixfic, "Sélectionnez un fichier.....", "tous fichiers(*.xls)"+TAB+"*.xls*","*",fselOuvre+fselExiste)
    SI Sel<>""ALORS
    	choixfic=Sel
    FIN
     
    nIdfic est un entier
    i est un entier
    nResnblignes est un entier
    nIdfic=xlsOuvre(choixfic)
    nResnblignes=xlsNbLigne(nIdfic)
     
    //importation données dans la table
    SI nIdfic<>-1 ALORS
    	SI OuiNon("Voulez vous importer les données ?") ALORS
    		Sablier(Vrai)
    		POUR i=2 A nResnblignes
    			FEN_Table_Agent.TABLE_Agent..COL_Matricule=xlsDonnée(nIdfic,i,1)
    			FEN_Table_Agent.TABLE_Agent.COL_NomPrenomAgent=xlsDonnée(nIdfic,i,2)
    			FEN_Table_Agent.TABLE_Agent.COL_Email=xlsDonnée(nIdfic,i,3)
    			FEN_Table_Agent.TABLE_Agent.COL_Adresse=xlsDonnée(nIdfic,i,4)
    			FEN_Table_Agent.TABLE_Agent.COL_Qualification=xlsDonnée(nIdfic,i,5)
     
    			TableAjoute(FEN_Table_Agent.TABLE_Agent, nResnblignes)
    		FIN
    		Info("Importation terminée")
    	FIN
    SINON
    	Erreur("Le fichier Excel est déjà ouvert !"+RC+"ou le lien n'est pas valide.")
    	RETOUR
    FIN
    Sablier(Faux)
    xlsFerme(nIdfic)
    Erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur à la ligne 19 du traitement Clic sur BTN_Chargement.
    Le champ FEN_Table_Agent.TABLE_Agent.COL_Matricule est inconnu.
    Informations techniques :
    Projet : GestionExcel

    Appel WL :
    Traitement de 'Clic sur BTN_Chargement' (CHARGEMENT.BTN_Chargement), ligne 19, thread 0

    Que s'est-il passé ?
    Le champ FEN_Table_Agent.TABLE_Agent.COL_Matricule est inconnu.

    Code erreur : 1017
    Niveau : erreur fatale (EL_FATAL)

    Dump de l'erreur du module 'WD150VM.DLL' (15.00Hk).
    Identifiant des informations détaillées (.err) : 1017
    Informations supplémentaires :
    EIT_PILEWL :
    Clic sur BTN_Chargement (CHARGEMENT.BTN_Chargement), ligne 19
    Sélection du menu de MENU__Menu.MENU_Agent.OPT_Chargement (FEN_MENU.MENU__Menu.MENU_Agent.OPT_Chargement), ligne 1
    EIT_DATEHEURE : 21/09/2012 11:30:29

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    C'est parce-que l'utilisation de tableajoute n'est pas la bonne.
    En regardant ton code tu affecte les valeurs à ta table avant d'y ajouter une ligne.
    Résultat tu affecte une valeur à quelque chose qui n'existe pas.
    Regarde l'aide de tableajoute et tu devrais trouver ton erreur.

    Sinon ajoute ta ligne puis affecte tes valeurs à la ligne que tu as ajouter.

  3. #3
    Inactif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2009
    Messages : 52
    Points : 1
    Points
    1
    Par défaut
    J'ai modifié ainsi, maintenant c'est la table qui est dans tableajoute qu'il ne reconnaît pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TableAjoute(Agent, nResnblignes)
    //	Affectation des données à la ligne
    Agent.Matricule=xlsDonnée(nIdfic,i,1)
    Agent.NomPrenomAgent=xlsDonnée(nIdfic,i,2)
    Agent.Email=xlsDonnée(nIdfic,i,3)
    Agent.Adresse=xlsDonnée(nIdfic,i,4)
    Agent.Qualification=xlsDonnée(nIdfic,i,5)

  4. #4
    Inactif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2009
    Messages : 52
    Points : 1
    Points
    1
    Par défaut
    Ca marche, le code est là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    //sélecteur de fichier
    Sel est une chaîne
    Sel=fSélecteur(choixfic, "Sélectionnez un fichier.....", "tous fichiers(*.xls)"+TAB+"*.xls*","*",fselOuvre+fselExiste)
    SI Sel<>""ALORS
    	choixfic=Sel
    FIN
     
    nIdfic est un entier
    i est un entier
    nResnblignes est un entier
    nIdfic=xlsOuvre(choixfic)
    nResnblignes=xlsNbLigne(nIdfic)
     
    //importation données dans la table
    SI nIdfic<>-1 ALORS
    	SI OuiNon("Voulez vous importer les données ?") ALORS
    		Sablier(Vrai)
    		POUR i=3 A nResnblignes
    						Agent.Matricule=xlsDonnée(nIdfic,i,1)
    						Agent.NomPrenomAgent=xlsDonnée(nIdfic,i,2)
    						Agent.Email=xlsDonnée(nIdfic,i,3)
    						Agent.Adresse=xlsDonnée(nIdfic,i,4)
    						Agent.Qualification=xlsDonnée(nIdfic,i,5)
    				        HAjoute(Agent)	
    		FIN
    		Info("Importation terminée")
    	FIN
    SINON
    	Erreur("Le fichier Excel est déjà ouvert !"+RC+"ou le lien n'est pas valide.")
    	RETOUR
    FIN
    Sablier(Faux)
    xlsFerme(nIdfic)
    Merci !

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Bonjour, cela m'a vraiment je suis nouveau ici.
    Mais j'aimerai savoir:
    *Pour ce code ne prend pas en compte Id de l'agent? elle la génère de façon automatique. dois je retirer Identifiant automatique de la table Agent?
    *J'ai une combo à la place du sexe de l'agent. il y a "M" et "F" dans ma combo. Sur Excel quand je met "M ou F" j'ai un vide. mais 1 me renvoi "M" et 2 me renvoi "F".

    Que dois je faire pour régler cela? il y a un moyen de conserver mon IdAgent ainsi que ma combo? le code fonctionne et l'importation marche mais le IdAgent est automatique ne prend pas en compte ce que j’enregistre sur Excel et sexeAgent prend la valeur "M" pour 1 ou "F" pour 2 mais vide si je met "M" ou "F" directement sur Excel.

    J'espère avoir une réponse de votre part. merci.

    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    //Sélection du fichier Excel
    sChoixfic est une chaîne
    sSel est une chaîne
    ResNbLignes est un entier
    	sSel = fSélecteur(sChoixfic,"C:\Documents and Settings\Administrateur\Mes documents\Test3","tous les fichiers(*.xls)"+TAB+"*.xls*","*",fselOuvre+fselExiste)
     
    SI sSel<>"" ALORS
    	sChoixfic = sSel
    FIN
     
    nIdfic est un entier
    i est un entier
     
     
    nIdfic = xlsOuvre(sChoixfic)
    ResNbLignes = xlsNbLigne(nIdfic)
     
    //Importation des données du fichier Excel dans la table
    SI nIdfic <> -1 ALORS
    	SI OuiNon("Voulez vous importer les données ?") ALORS
    		Sablier(Vrai)
    		POUR i=1 A ResNbLignes
     
    			//j'ai mis Agent.IdAgent en commentaire parce que la valeur est gérée de façon automatique
    			//Agent.IDAgent = xlsDonnée(nIdfic,i,1)
     
    			Agent.NomAg = xlsDonnée(nIdfic,i,2)
    			Agent.PrenomAg = xlsDonnée(nIdfic,i,3)
    			Agent.SexeAg = xlsDonnée(nIdfic,i,4)
     
    			HAjoute(Agent)
     
    		FIN
    		Info("Importation terminée")
    	FIN
    SINON
    	Erreur("Le fichier Excel est déjà ouvert !"+RC+"ou le lien n'est pas valide")
    	RETOUR
    FIN
    Sablier(Faux)
    xlsFerme(nIdfic)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Import données internet vers csv ou xls - quid de larapidité?
    Par mtaurines dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/09/2011, 11h59
  2. Importer données txt vers xls
    Par kikim78 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/12/2009, 13h22
  3. importer une base de donnée access vers windev
    Par dodino dans le forum WinDev
    Réponses: 1
    Dernier message: 15/06/2009, 21h06
  4. [PHP 5.0] [CSV] Importation de données xls vers mysql
    Par beegees dans le forum Langage
    Réponses: 13
    Dernier message: 23/04/2009, 11h47
  5. Réponses: 6
    Dernier message: 28/05/2008, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo