[PERL+VBA] calcul de la taille des données [Fermé]

Signaler
Messages postés
10
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
26 juillet 2007
-
 Eva95 -
Bonjour,

j'ai extrait des données d'un fichier Excel pour les exploiter ulterieurement.

mon programme parcours le fichier excel de la ligne 0 a la ligne 300 et extrait les données de chaques lignes pour les styocker dans un tableau.
Cela fonctionne tres bien.

Voici mon problème :
Le fichier excel étant amené a ètre modifié il est donc possible d'avoir + de 300 lignes, dans ce cas je serait amené a perdre des données.

Je voudrait donc pouvoir calculer la taille maximum des données contenues dans mon fichier excel, sachant qu'il peut y avoir des cases VIDES parfois dans les colonnes.

--> Il me faut donc calculer le nombre de lignes contenues entre le début du fichier (case A0) et la fin des données (case que je n'arrive donc pas a définir).

pour ouvrir lire mon fichier Excel j'utilise "Win32::OLE".

j'ai deja essayé des choses du genre :
----my $taille = Range(ActiveCell, ActiveCell->{End(xlDown)}->{'Count'}; etc... mais rien n'y fait cela ne fonctionne pas.

Je pensait m'en sortir mais je bloque trop.... heeeelp!!!

4 réponses

Messages postés
10
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
26 juillet 2007

Y a vraiment personne qui as une idée??????????????????????????????
ou une remarque????????????????????????
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 543
Salut,

avant de traduire en Perl ce que tu dois faire c'est de penser en Excel d'abord

--> Il me faut donc calculer le nombre de lignes contenues entre le début du fichier (case A0) et la fin des données (case que je n'arrive donc pas a définir).

Ce cas on le traite par exemple de cette maniere
nbligne = Range("A65536").End(xlUp).Row
nbligne te donne la dernière ligne qui contient des données (même s'il y a des lignes vides jusqu'à là)

Affiche ton code Perl et je vais regarder un peu plus tard, si jamais tu n'arrives pas à te debrouiller avec l'indication que je t'ai donnée
Messages postés
10
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
26 juillet 2007

Merci tout dabor de m'avoir répondu!

effectivement cette solution me parrait ètre la plus a mème de résoudre mon problème de nombre de lignes max, je n'y avait pas pensé.

Ceci dit je n'arrive pas a transposer le code VBA en code perl.

J'utilise OLE pour lire mes fichiers Excel et voila ce qui me parrait le plus proche de la solution :

my $nbligne = $Sheet->Range("A65536", End(xlUp))->{'Row'};

mais cela ne fonctionne pas.

apres maintes combinaisons et recherches sur le web je suis de nouveau dans l'impasse.

... help!
Si cela peut encore aider :

J'utilise :
my $nbLigne = $Sheet->Range("A1")->End(xlDown)->{Row}

Bonne journée.

Eva