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

snowsurfer69 Messages postés 10 Statut Membre -  
 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!!!
Configuration: Windows XP
Firefox 2.0.0.4
Notepad++

4 réponses

  1. snowsurfer69 Messages postés 10 Statut Membre
     
    Y a vraiment personne qui as une idée??????????????????????????????
    ou une remarque????????????????????????
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    0
  3. snowsurfer69 Messages postés 10 Statut Membre
     
    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!
    0
  4. Eva95
     
    Si cela peut encore aider :

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

    Bonne journée.

    Eva
    0