Bonjour à tous et toutes,
Un bail que j'avais pas posté ici.
J'ai justement créé une procédure hier soir à ce sujet d'import de fichier excel car je n'arrive pas à utiliser la fonction HimporteXLS. ( <- si quelqu'un exemple concret là dessus)
la fonction utilise des indirections. Vous donner le chemin du fichier Excel et ça crée un .fic avec toutes les données dedans.
Le seul point qui manque à cette fonction est l'ajout du fichier .fic dans l'analyse en automatique. Si quelqu'un sait faire je suis preneur. (Pas russi avec HDéclare)
[windev]
PROCÉDURE ImportExcel(sCheminfichier est une chaîne)
sNomColonne est une chaîne = ""
sNomFichier est une chaîne = fExtraitChemin(sCheminfichier, fFichier)
//On supprime le .fic s'il existe deja
SI PAS fSupprime(fExtraitChemin(sCheminfichier,fRépertoire) + sNomFichier + ".fic",frLectureSeule) ALORS ErreurInfo(errComplet)
TabExcel est un xlsDocument = xlsOuvre(sCheminfichier,xlsEcriture)
SI ErreurDétectée = Faux ALORS
nBLigne est un entier = xlsNbLigne(TabExcel)
nBColonne est un entier = xlsNbColonne(TabExcel)
POUR i = 1 À nBColonne
sNomColonne += xlsDonnée(TabExcel,1,i) + ","
FIN
//on enleve la derniere virgule
sNomColonne = Gauche(sNomColonne,Taille(sNomColonne)-1)
//Création du fichier
UnFichier est une Description de Fichier
UneRubrique est une Description de Rubrique
//sdLEFICHIER est une source de données = sNomFichier
// Description du fichier de données
UnFichier..Nom = sNomFichier
UnFichier..Type = hFichierNormal
//UnFichier..CryptageFic = hCryptageStandard
POUR TOUTE CHAÎNE sChaine DE sNomColonne SEPAREE PAR ","
UneRubrique..Nom = sChaine
UneRubrique..Type = hRubTexte
UneRubrique..Taille = 256
HDécritRubrique(UnFichier, UneRubrique)
FIN
// Valide la description du fichier de données
HDécritFichier(UnFichier)
// Création du fichier de données Client (reconnu car déclaré comme source de données)
HCréation(sNomFichier)
POUR i = 2 À nBLigne
HRAZ({sNomFichier,indFichier})
j est un entier = 0
POUR TOUTE CHAÎNE sChaine DE sNomColonne SEPAREE PAR ","
j += 1
//Trace(sNomFichier + "." + schaine)
{sNomFichier + "." + schaine,indRubrique} = xlsDonnée(TabExcel,i,j)
FIN
SI PAS HAjoute({sNomFichier,indFichier}) ALORS ErreurInfo(errComplet)
FIN
SINON
Erreur("Attention ! le fichier " + sCheminfichier + " est déjà ouvert sur un poste de travail !")
FinProgramme()
FIN
xlsFerme(TabExcel)
HDéclareExterne(fExtraitChemin(sCheminfichier,fRépertoire) + sNomFichier + ".fic",sNomFichier)
[/windev]
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
AIDE IMPORTATION D UNE BASE EXCEL DANS UN HYPERFILE windev
Discussion dans 'Windev' créé par Nab, Mai 16, 2019.
Bonjour,
Quelqu’un aurais une solution pour importer une base excel avec toute sa structure dans HyperFile windev
// Déclaration des variables
ResDonnée est une chaîne
FichierXLS est une chaîne
IdFichierXLS est un entier
// Sélection du fichier XLS
FichierXLS = fSélecteur("", "", "Sélection d'un fichier XLS", ...
"Fichier XLS" + TAB + "*.XLS", "XLS", fselOuvre+fselExiste)
// Ouverture du fichier sélectionné
IdFichierXLS = xlsOuvre(FichierXLS)
SI IdFichierXLS <> -1 ALORS
// Récupération du contenu d'une cellule
ResDonnée = xlsDonnée(IdFichierXLS, 3, 4, Faux)
SI ResDonnée <> xlsDonnéeErreur ALORS
SI ResDonnée = "" ALORS
// La cellule est vide
Info("La cellule est vide")
SINON
// Affichage du contenu de la cellule
Info("Le contenu de la cellule est : " + ResDonnée)
FIN
SINON
// Affichage du message d'erreur si la récupération n'a pas été effectuée
Erreur(xlsMsgErreur(IdFichierXLS))
FIN
SINON
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
Erreur(xlsMsgErreur(IdFichierXLS))
FINCliquez pour agrandir...
Tu as un lien pour ta procédure?
meme plus avec code sourceBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
developpé par un cher amisBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
, le sujet estBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
suenodesign et Gemini1961 aiment ça.
Effectivement c'est très propre comme projet.
Merci Freddy, l'interface est vraiment inspirante.
J'ai une erreur sur la ligne 222 car cela m'indique qu'un nom de colonne existe déjà mais cela est du au fait que ce n'est pas sensible à la casse.
J'ajouterai un test et un chiffre à la fin.
thank you
Effectivement c'est très propre comme projet.
Merci Freddy, l'interface est vraiment inspirante.
J'ai une erreur sur la ligne 222 car cela m'indique qu'un nom de colonne existe déjà mais cela est du au fait que ce n'est pas sensible à la casse.
J'ajouterai un test et un chiffre à la fin.Cliquez pour agrandir...

Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
, " les j'aime récole des point qui nous encourage a a participé et vous aider" il faut pas passer et ramasser sans rien laisser , sa va tué le forum beaucoup de personnes de valeur ont déja quitté le forum
Lusine, *!vince!*, JML et 2 autres personnes aiment ça.
Gemini1961
Well-Known Member
MEMBRE WX
DUMP TEAM
elhacene apprécie ceci.
il y a pas un petite merci pour moiou un petit j'aime c'est moi qui a crée le sujet
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
, " les j'aime récole des point qui nous encourage a a participé et vous aider" il faut pas passer et ramasser sans rien laisser , sa va tué le forum beaucoup de personnes de valeur ont déja quitté le forumCliquez pour agrandir...
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
SVP le lien MEGA dans le sujet ne passe plus. Pourriez vous remettre un lien valide svp.