Ajout de colonne par programmation
Quelle galère... Que se soit les livres, l'aide en ligne ou la recherche sur le forum, les "10 fois plus vite" en sont au stade des 1000 fois plus long:calim2:
Si j'ai bien compris les infos que j'ai capté deci delà, nous pouvons ajouter par programmation (fonction de clonage), une ou plusieurs colonnes dans une table (ici table mémoire) et y placer ensuite des données.
Pour moi, tout va bien en ce qui concerne la création par programmation des 4 colonnes supplémentaires, mais au moment d'y afficher les données, le programme plante à la 1ère colonne ajoutée (les 3 premières initiales sont ok).
Code:
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
|
// Objectif, Lire une table Excel composée d'un nombre de Ligne quelconque mais aussi et surtout d'un nombre de colonnes variables (ex. 7 pour ici).
// Par défaut, cette table mémoire Windev15 est composée de 3 rubriques (COL_Colonne1,COL_Colonne2, COL_Colonne3)
// La tableau Excel est alors analysé afin de connaître le nombre de lignes et de colonnes de la feuille sélectionnée
// Ensuite, on remplie par programmation des valeurs lues, dans la table mémoire TABLE_Table1 suivante
TableSupprimeTout(TABLE_Table1)
xlsID est un entier = xlsOuvre(SAI_FIC1)
Nbcolonnes est une entier = xlsNbColonne(xlsID,Faux)
NbLignes est un entier = xlsNbLigne(xlsID,Faux)
// Je clone 4 fois la colonne3 qui est de type chaine 50 (soit : colonne4, colonne5, colonne6, colonne7)
POUR i = 4 A 7
ChampClone(COL_Colonne3,"Colonne" + i)
{"Colonne"+ i,indChamp}..Libellé = "Col_Colonne" + i // Affiche COL_Colonne+i en mode création, par programmation, pas utile ???
{"Colonne"+ i,indChamp}..Titre = "Colonne" + i // Affiche Colonne+i par programmation
FIN
// Je remplis les colonnes "J" pour chaque ligne "I"
POUR I = 1 A NbLignes
TableAjouteLigne(TABLE_Table1)
POUR J= 1 A Nbcolonnes //Plante à J=4
Machaine est une chaîne= "Col_Colonne"+J
//trace ("TABLE_Table1."+"*"+Machaine+"*"+indchamp+"*"+I)
{"TABLE_Table1."+Machaine,indChamp}[I] = xlsDonnée(xlsID,I,J,Faux)
FIN
FIN |
Le message est le suivant :
Erreur à la ligne 80 du traitement Procédure locale Excel_Analyser.
L'élément 'TABLE_Table1.Col_Colonne4' est inconnu.
----- Informations techniques -----
Projet :
Appel WL :
Traitement de 'Procédure locale Excel_Analyser' (FEN_Exemple_XLS.PROCEDURE.Excel_Analyser), ligne 80, thread 0
Que s'est-il passé ?
L'élément 'TABLE_Table1.Col_Colonne4' est inconnu.
Code erreur : 1059
Niveau : erreur fatale (EL_FATAL)
Dump de l'erreur du module 'WD150VM.DLL' (15.00Os).
Identifiant des informations détaillées (.err) : 1059
Informations supplémentaires :
EIT_PILEWL :
Procédure locale Excel_Analyser (FEN_Exemple_XLS.PROCEDURE.Excel_Analyser), ligne 80
Clic sur Analyser_xls (FEN_Exemple_XLS.ONG_Onglet1.Analyser_xls), ligne 2
EIT_DATEHEURE : 09/08/2010 16:33:11
:oops:Peut être est-ce tout bête, mais là je ne vois plus !:oops:
Y a t'il une autre possibilité que par clonage ?