IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

perl et excel : intégrer une variable dans une expression


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 92
    Points : 26
    Points
    26
    Par défaut perl et excel : intégrer une variable dans une expression
    Bonjour,

    J'ai crée un programme qui fait du parsing de fichier log et renvoit le résultat sur excel, sur plusieurs feuilles de calcul.

    J'ai une feuille s'appelant "Nombre total d'étude" qui doit faire l'addation de plusieurs paramètres (nombres) présent sur une autre feuille appelé "Etude par fichier"


    En gros je dois réaliser ce calcul la par exemple dans une de mes cellules:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =('Etudes par fichier'!J10+'Etudes par fichier'!J52+'Etudes par fichier'!J94+'Etudes par fichier'!J136+'Etudes par fichier'!J178+'Etudes par fichier'!J220+'Etudes par fichier'!J262+'Etudes par fichier'!J304+'Etudes par fichier'!J346+'Etudes par fichier'!J388+'Etudes par fichier'!J430)
    Le problème c'est qu'il peut y avoir plus de cellule a additionné et cela devient trop long et pas très propre, du coup j'ai pensé à une boucle for
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    my $i = 0;
    	my $etude = 0;
    	for ($i = 10;$i<1000;$i+=42) # les cellules à additionné sont toutes les 42 cases
    	{
    	$etude = $etude+'Etudes par fichier'!J$i;
    	}
    Mais j'obtient une erreur car visiblement perl ne comprend pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $etude = $etude+'Etudes par fichier'!J$i;
    Savez - vous comment je pourrais faire pour réaliser mes calculs, car j'en ai environ 20 à faire.

    Merci.

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Je suppose que l'objectif est de générer une formule pour la copier-coller par la suite ?

    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    use strict;
    use warnings;
     
    my $etude = "=";
    for (my$i = 10;$i<1000;$i+=42) { # les cellules a additionner sont toutes les 42 cases
        $etude = $etude . qq('Etudes par fichier'!J$i+);
    }
    print substr($etude, 0, -1);
    Devrait faire l'affaire.

    D'un autre côté, tes erreurs semble indiquer que tu espérais un lien entre ton script Perl et ta feuille Excel, ce qui est peu probable...
    --
    Jedaï

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 92
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Je suppose que l'objectif est de générer une formule pour la copier-coller par la suite ?

    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    use strict;
    use warnings;
     
    my $etude = "=";
    for (my$i = 10;$i<1000;$i+=42) { # les cellules a additionner sont toutes les 42 cases
        $etude = $etude . qq('Etudes par fichier'!J$i+);
    }
    print substr($etude, 0, -1);
    Devrait faire l'affaire.

    D'un autre côté, tes erreurs semble indiquer que tu espérais un lien entre ton script Perl et ta feuille Excel, ce qui est peu probable...
    --
    Jedaï
    Merci beaucoup, c'est parfait. Que la force soit avec toi ^^

    Juste je voulais savoir que voulait dire la ligne

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par shalfat Voir le message
    Juste je voulais savoir que voulait dire la ligne
    Je déclare la variable lexicale $etude et j'y met la chaîne de caractère "=" (donc le = au début de la formule).

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 92
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Je déclare la variable lexicale $etude et j'y met la chaîne de caractère "=" (donc le = au début de la formule).

    Merci beaucoup, j'y avais pas pensé mais c'est très logique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  4. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo