|
importation depuis Excel - Débutant- |
Started by guest, Mar., 18 2006 8:39 AM - 3 replies |
| |
| | | |
|
| |
Posted on March, 18 2006 - 8:39 AM |
bonjour, grace à l'exemple "WD Fonctions XLS", j'importe un fichier Excel dans une table. Comment puis-je écrire chaque ligne de la table dans mon fichier? Chaque colonne est liée à une rubrique de mon fichier. A chaque écriture d'une ligne importée, j'ais mis ce code là, sans succès:
EcranVersFichier() HAjoute(Data) SI HDoublon() ALORS Erreur("Ce numéro existe déjà") FIN
Auriez-vous une idée? Merci d'avance cordialement fred |
| |
| |
| | | |
|
| | |
| |
Posted on March, 18 2006 - 1:04 PM |
Bonjour,
Pensez a utiliser la classe CExcel qui est très pratique et que vous trouverez dans l'exemple < WD Pilotage de Excel >
A titre d'exemple, voici un bout de code de récupération de données d'une feuille Excel - affichage dans une table - et enregistrement des données dans un fichier < Situation.Fic >
// [< Initialisation des variables >] // Les données sont reprises dans des champs de saisies préfixés : SAI_.....
// Chemin complet du fichier Excel [< NomFichier.xls >] sNomXls = SansEspace(SAI_FichXls)
// Exercice sExerc = SAI_Exercice
// Feuille du classeur Excel : Exemple < A2006 > sFeuille = ChaîneConstruit("A%1", SansEspace(sExerc))
// Nbre de ligne dans tableau Excel nNbLgn = SAI_NbLgn
// [< Jauge >] gnValeur = 1 gnValMaxEncours = nNbLgn
Lib_Copie = " Mise en place du programme "
// [< Instanciation de la classe Excel >] Ex1 est un objet CExcel
// [< Ouverture du classeur / Sélectionner la feuille >] Ex1:Ouvrir(sNomXls) Ex1:SelectionnerFeuille(sFeuille)
// Ligne de départ dans Excel nLgn = 4
POUR Ind=1 A nNbLgn
sCode = Ex1:sLireValeur("B" + nLgn ) sIdCpte = Ex1:sLireValeur("C" + nLgn )
// [< Libellé >] SI sCode = "#1" ALORS sLibCompte = Ex1:sLireValeur("D" + nLgn ) sLibTotal = "" sLibelle = sLibCompte FIN
// [< Total >] SI sCode = "#2" ALORS sLibCompte = "" sLibTotal = Ex1:sLireValeur("D" + nLgn ) sLibelle = sLibTotal bValide = Vrai FIN
nMontant = Ex1:sLireValeur("F" + nLgn ) nMontant = Arrondi(nMontant,2)
// [< Séparation >] SI sCode = "#3" ALORS sIdCpte = "" TableAjouteLigne(TabComptes, sCode) bValide = Faux FIN
Lib_Copie = ChaîneConstruit("Copie des données : %1 %2", sIdCpte, sLibelle) SI sCode = "#1" ET nMontant <> 0 ALORS bValide = Vrai
SI bValide = Vrai ALORS
TableAjouteLigne(TabComptes, sCode, sIdCpte, sLibCompte, sLibTotal, nMontant)
// [< Enregistrer Données >] Situation.Exercice = sExerc Situation.Code = sCode Situation.IDCompte = sIdCpte Situation.LibCompte = sLibelle Situation.Montant = nMontant SI PAS HAjoute(Situation) ALORS Ouvre("MsgBox", " Erreur", ">>> Impossible d'ajouter un enregistrement"+RC+HErreurInfo(), 1) FIN
FIN
bValide = Faux
// [< Jauge >] ProgresJauge() Multitâche(5)
// Ligne suivante nLgn++ FIN
// Libérer [< Objet Excel >] Ex1:Quitter()
J'espère avoir pu vous aider
Cordialement
Albert |
| |
| |
| | | |
|
| | |
| |
Posted on March, 18 2006 - 1:04 PM |
Table non liée au fichier: Pour Indice=1 à TableOccurrence(Table) --Fichier.Rub1=Table.Col1[Indice] --Fichier.Rub2=Table.Col2[Indice] --Fichier.Rub3=Table.Col3[Indice] --... --HAjoute(Fichier) --Si HErreur()Alors ... Fin
Table liée au fichier, colonnes liées à une rubrique du fichier: Pour Indice=1 à TableOccurrence(Table) --TableSelectPlus(Table,Indice) --EcranVersFichier --HAjoute(Fichier) --Si HErreur()Alors ... Fin |
| |
| |
| | | |
|
| | |
| |
Posted on March, 18 2006 - 5:36 PM |
Bonjour,
J'ai créé un utilitaire simple et pratique pour ça ( import/export vers Excel ) ceux qui sont interessés à l'avoir qu'ils me passent leur E-mail ..
Bonne dev.
Ali Hindi : AliDev7@yahoo.fr |
| |
| |
| | | |
|
| | | | |
| | |
|