[PERL+VBA] calcul de la taille des données
snowsurfer69
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Eva95 -
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!!!
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!!!
A voir également:
- [PERL+VBA] calcul de la taille des données
- Fuite données maif - Guide
- Comment réduire la taille d'un fichier - Guide
- Trier des données excel - Guide
- Calcul moyenne excel - Guide
- Supprimer les données de navigation - Guide
4 réponses
Y a vraiment personne qui as une idée??????????????????????????????
ou une remarque????????????????????????
ou une remarque????????????????????????
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
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
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).Rownbligne 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
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!
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!