OVH Cloud OVH Cloud

Test de fonction

26 réponses
Avatar
Laurent Longre
Bonjour,

Je suis en train de construire une nouvelle fonction de feuille de calcul,
"INDIRECT2", destinée à lire le contenu de classeurs fermés. Cette fonction ne
repose pas sur ADO, ni sur ExecuteExcel4 ou les autres méthodes existantes, mais
lit directement le contenu binaire des classeurs. Son avantage, si je mène le
projet à bien, est qu'elle est relativement rapide, et qu'elle évite les
limitations d'ADO.

J'aurais besoin que d'autres personnes m'aident à la tester, avant de lui
apporter des améliorations. La structure des fichiers Excel est assez
tarabiscotée et peut changer sensiblement selon le contenu (ou la version
d'Excel utilisée). La seule façon de tester, c'est d'essayer la fonction avec
beaucoup de classeurs différents.

J'ai du mal à trouver des personnes pour tester, que ce soit pour des réponses
positives ("ça marche") ou négatives (bugs).

Si vous êtes intéressés, tous les détails sont ici :
http://xcell05.free.fr/forums/viewtopic.php?id=27

Laurent

10 réponses

1 2 3
Avatar
isabelle
salut Lucky Laurent,

j'ai rebooter mon ordi et refait le test sous win 2000, xl2002 sp3
tout fonctionne correctement.
le blème ne venait pas de ta fonction.

1000 merci pour ce nouveau bébé,
isabelle



Merci Isabelle.

(même demande que pour RaMa ! :-)

Laurent


bonjour Laurent,

j'ai fait le test sous win 2000, xl2002 sp3
si j'entre la formule diretement dans une cellule j'obtient #valeur

si j'utilise l'assitant function, excel génere un rapport d'erreur que
l'on peut consulter, mais je n'ai pas réussi à le copier.
j'ai appuyer sur le bouton "Envoyer à microsoft" j'espère que tu
pourras le consulter à partir de là.

je m'en vais faire le test sous xl97, à betot

isabelle



Bonjour,

Je suis en train de construire une nouvelle fonction de feuille de
calcul, "INDIRECT2", destinée à lire le contenu de classeurs fermés.
Cette fonction ne repose pas sur ADO, ni sur ExecuteExcel4 ou les
autres méthodes existantes, mais lit directement le contenu binaire
des classeurs. Son avantage, si je mène le projet à bien, est qu'elle
est relativement rapide, et qu'elle évite les limitations d'ADO.

J'aurais besoin que d'autres personnes m'aident à la tester, avant de
lui apporter des améliorations. La structure des fichiers Excel est
assez tarabiscotée et peut changer sensiblement selon le contenu (ou
la version d'Excel utilisée). La seule façon de tester, c'est
d'essayer la fonction avec beaucoup de classeurs différents.

J'ai du mal à trouver des personnes pour tester, que ce soit pour des
réponses positives ("ça marche") ou négatives (bugs).

Si vous êtes intéressés, tous les détails sont ici :
http://xcell05.free.fr/forums/viewtopic.php?id'

Laurent






Avatar
Paul V.
Salut Laurent,

Je ne suis pas du tout au bureau pour l'instant (demain à Paris, par
exemple) donc je ferai des tests plus tard.

Le fait que tu lis en binaire veut-il dire que tu as les infos complètes sur
la structure du fichier Excel? Si c'est la cas, tu l'as trouvée ou?

Merci d'avance et a+

Paul V


"Laurent Longre" a écrit dans le message de news:
OGI%

Bonjour,

Je suis en train de construire une nouvelle fonction de feuille de calcul,
"INDIRECT2", destinée à lire le contenu de classeurs fermés. Cette
fonction ne repose pas sur ADO, ni sur ExecuteExcel4 ou les autres
méthodes existantes, mais lit directement le contenu binaire des
classeurs. Son avantage, si je mène le projet à bien, est qu'elle est
relativement rapide, et qu'elle évite les limitations d'ADO.

J'aurais besoin que d'autres personnes m'aident à la tester, avant de lui
apporter des améliorations. La structure des fichiers Excel est assez
tarabiscotée et peut changer sensiblement selon le contenu (ou la version
d'Excel utilisée). La seule façon de tester, c'est d'essayer la fonction
avec beaucoup de classeurs différents.

J'ai du mal à trouver des personnes pour tester, que ce soit pour des
réponses positives ("ça marche") ou négatives (bugs).

Si vous êtes intéressés, tous les détails sont ici :
http://xcell05.free.fr/forums/viewtopic.php?id'

Laurent


Avatar
Ricky
Bonjour *Laurent Longre*


Tu trouveras le fichier ici
http://cjoint.com/?dFs4jXyk8q

=INDIRECT2("D:Mes documentsboursesure invest.xls";"Portefeuille";1;1;VRAI)
Fonctionne (Excel 2003) 1ère feuille
=INDIRECT2("D:Mes documentsboursesure invest.xls";"Cours";1;1;VRAI)
Ne fonctionne pas. deuxième feuille

Un problème de feuille ?

| Bonjour,
|
| Je suis en train de construire une nouvelle fonction de feuille de
| calcul, "INDIRECT2", destinée à lire le contenu de classeurs fermés.
| Cette fonction ne repose pas sur ADO, ni sur ExecuteExcel4 ou les
| autres méthodes existantes, mais lit directement le contenu binaire
| des classeurs. Son avantage, si je mène le projet à bien, est qu'elle
| est relativement rapide, et qu'elle évite les limitations d'ADO.
|
| J'aurais besoin que d'autres personnes m'aident à la tester, avant de
| lui apporter des améliorations. La structure des fichiers Excel est
| assez tarabiscotée et peut changer sensiblement selon le contenu (ou
| la version d'Excel utilisée). La seule façon de tester, c'est
| d'essayer la fonction avec beaucoup de classeurs différents.
|
| J'ai du mal à trouver des personnes pour tester, que ce soit pour des
| réponses positives ("ça marche") ou négatives (bugs).
|
| Si vous êtes intéressés, tous les détails sont ici :
| http://xcell05.free.fr/forums/viewtopic.php?id'
|
| Laurent

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Avatar
Damien Kergosien
Bonsoir Laurent

testé sous Excel 2000 et 2003 dernières mises à jour effectuées
J'ai renvoyé à chaque fois une quinzaine de données en colonne

Classeur ouvert, tout est ok : données en première feuille ou ailleurs

Classeur fermé :
première série de données sur feuille 1 : ligne 1 correct, lignes 2,3,4
incorrect, les 14 suivantes OK
deuxième série de données sur feuille 1 : la fonction ne renvoie rien
pour les 15 premières lignes et OK pour les 8 suivantes
troisième série de données sur feuille 3 : seuls des 0 sont renvoyés

fichiers accessibles :
http://cjoint.com/?dFut4uOIym
Avatar
Laurent Longre
Merci à tous, je vais voir tout ça.

(Super, ce forum, j'aurais dû le découvrir bien avant ! ;-))))

Laurent

Bonsoir Laurent

testé sous Excel 2000 et 2003 dernières mises à jour effectuées
J'ai renvoyé à chaque fois une quinzaine de données en colonne

Classeur ouvert, tout est ok : données en première feuille ou ailleurs

Classeur fermé :
première série de données sur feuille 1 : ligne 1 correct, lignes 2,3,4
incorrect, les 14 suivantes OK
deuxième série de données sur feuille 1 : la fonction ne renvoie rien
pour les 15 premières lignes et OK pour les 8 suivantes
troisième série de données sur feuille 3 : seuls des 0 sont renvoyés

fichiers accessibles :
http://cjoint.com/?dFut4uOIym




Avatar
Damien Kergosien
re bonsoir Laurent

testé sur une grande plage de cellules : les données textuelles
semblent reprises aléatoirement lignes 1 à 15 puis ça redevient bon à
partir de 16
les données numériques sont toutes reprises dans mon test

Dans une colonne, renvoi de données qui ne sont pas dans la cellule
originale (en jaune dans test2)
http://cjoint.com/?dFuYz52hjc

Damien
Avatar
Laurent Longre
Merci Oliv, c'était une coquille, j'ai corrigé.

Laurent

Il y a une erreur dans ton exemple sur le lien ci-dessus
=INDIRECT2("C:TempTest.xls";"Feuil4";3,5;FAUX)
entre 3 et 5 c'est un ; et avec ca marche


Avatar
Laurent Longre
Merci Damien,

Encore pas mal de boulot en perspective, merci pour les classeurs.

Petite explication : la difficulté c'est qu'il faut faire au moins 5 boucles
imbriquées pour trouver l'enregistrement correspondant à une cellule dans le
fichier, et que la doc existante sur la structure interne des fichiers Excel est
très parcellaire et comporte quelques erreurs. C'est un vrai sac de noeud mais
j'y arriverai. :-)

Laurent

re bonsoir Laurent

testé sur une grande plage de cellules : les données textuelles semblent
reprises aléatoirement lignes 1 à 15 puis ça redevient bon à partir de 16
les données numériques sont toutes reprises dans mon test

Dans une colonne, renvoi de données qui ne sont pas dans la cellule
originale (en jaune dans test2)
http://cjoint.com/?dFuYz52hjc

Damien




Avatar
Starwing
j'y arriverai. :-)


Bonjour Laurent,

On le sait...

Pourrais-je te demander si cela va fonctionner sur des plages nommées?

Starwing

Avatar
Laurent Longre
Hello Starwing,


Pourrais-je te demander si cela va fonctionner sur des plages nommées?


Oui, c'est prévu.

Laurent

1 2 3