OVH Cloud OVH Cloud

[WD9] Atteindre la feuille 3 dans Excel

1 réponse
Avatar
Eric
J'ai un fichier Excel avec plusieurs feuilles.

Je désire importer les données de la feuille 3 dans WinDev.
Existe-t-il un ordre?

D'avance merci
Eric

1 réponse

Avatar
Romuald.besset
Eric a écrit :
J'ai un fichier Excel avec plusieurs feuilles.

Je désire importer les données de la feuille 3 dans WinDev.
Existe-t-il un ordre?

D'avance merci
Eric




Bonjour

Voici un extrait de la classe cExcel de www.WDForge.org en cours de
refonte pour WD9...

++ R&B
www.WDForge.org


// Exemple d'utilisation
oXL = allouer un objet OLE "Excel.application"
... ouverture du classeur...
// active la troisième feuille
SI pas Feuille_Activer(3,cxl_FeuilleParNuméro) ALORS
Erreur("Echec de l'ouverture de la feuille 3")
FIN


// Constantes
cxl_FeuilleParNom=0
cxl_FeuilleParNuméro=1

// Syntaxe :
//[ <Résultat> = ] Feuille_Activer (<pnIdFeuille>[, <pnType>])
//
// Paramètres :
// pnIdFeuille : Nom ou indice de la feuille à activer
// pnType : constante du type de sélection cxl_feuilleparnumero ou
cxl_feuilleparnom
// Valeur de retour :
// entier : Indice de la feuile activée ou faux
FONCTION Feuille_Activer(pnIdFeuille="",pnType = cxl_FeuilleParNuméro)
nId est un entier = Val(pnIdFeuille)
nTopics est un entier
SELON pnType
CAS ::cxl_FeuilleParNom:
// Accès par Nom
SI SansEspace(pnIdFeuille)<>"" ALORS
// Accès par Nom
// parcours la liste des feuilles
POUR nTopics=1 A oXL>>sheets>>Count
// Est-on sur la bonne ?
SI Majuscule(:oXL>>sheets(nTopics)>>Name)=Majuscule(pnIdFeuille) ALORS
// oui : active la feuille
oXL>>sheets(nTopics)>>Select()
// retourne la position de la feuille (=vrai)
RENVOYER nTopics
FIN
FIN
FIN
CAS ::cxl_FeuilleParNuméro
// Accès par N°
SI nId<=oXL>>sheets>>Count ALORS
// oui : active la feuille
oXL>>sheets(nId)>>Select()
// retourne la position de la feuille (=vrai)
RENVOYER nId
FIN
FIN
// la feuille n'as pas été trouvée : renvoie faux (0)
RENVOYER 0