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

Shell et commandes GNU Discussion :

trouver une cellule excel


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 55
    Par défaut trouver une cellule excel
    Bonjour je veux trouver une cellule dans le fichier EXCEL exemple Cellule "M12" j'ai exécuter un code pour sélectionner la ligne 21 mais je n'ai pas pu référencer sur la colonne M un peu d'aide s'il vous plait voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '{ if (NR==12) print $0}' tester.xls
    Merci d'avance

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Voici les 30 premières lignes du dump d'un classeur Excel (le fichier .xls) où je n'ai mis que dans la case "A1" le texte :

    "forum http://www.developpez.net" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    mac0908mt070:Desktop pascal$ od -c developpez.xls | head -30
    0000000  320 317 021 340 241 261 032 341  \0  \0  \0  \0  \0  \0  \0  \0
    0000020   \0  \0  \0  \0  \0  \0  \0  \0   >  \0 003  \0 376 377  \t  \0
    0000040  006  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 001  \0  \0  \0
    0000060  001  \0  \0  \0  \0  \0  \0  \0  \0 020  \0  \0 026  \0  \0  \0
    0000100  001  \0  \0  \0 376 377 377 377  \0  \0  \0  \0  \0  \0  \0  \0
    0000120  377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377
    *
    0001000  375 377 377 377   !  \0  \0  \0 003  \0  \0  \0 004  \0  \0  \0
    0001020  005  \0  \0  \0 006  \0  \0  \0  \a  \0  \0  \0  \b  \0  \0  \0
    0001040   \t  \0  \0  \0  \n  \0  \0  \0  \v  \0  \0  \0  \f  \0  \0  \0
    0001060   \r  \0  \0  \0 016  \0  \0  \0 017  \0  \0  \0 020  \0  \0  \0
    0001100  021  \0  \0  \0 022  \0  \0  \0 023  \0  \0  \0 024  \0  \0  \0
    0001120  025  \0  \0  \0 376 377 377 377 376 377 377 377 376 377 377 031
    0001140  031  \0  \0  \0 032  \0  \0  \0 033  \0  \0  \0 034  \0  \0  \0
    0001160  035  \0  \0  \0 036  \0  \0  \0 037  \0  \0  \0      \0  \0  \0
    0001200  376 377 377 377 376 377 377 377 377 377 377 377 377 377 377 377
    0001220  377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377
    *
    0002000    R  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
    0002020   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
    *
    0002100  002  \0 005  \0 377 377 377 377 377 377 377 377 002  \0  \0  \0
    0002120       \b 002  \0  \0  \0  \0  \0 300  \0  \0  \0  \0  \0  \0   F
    0002140   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 030 202 374 063
    0002160    3 311 313 001 027  \0  \0  \0 200 001  \0  \0  \0  \0  \0  \0
    0002200    W  \0   o  \0   r  \0   k  \0   b  \0   o  \0   o  \0   k  \0
    0002220   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
    *
    0002300  022  \0 002 001 004  \0  \0  \0 377 377 377 377 377 377 377 000
    0002320   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
    Penses-tu vraiment pourvoir l'attaquer avec awk ??? Une sauvegarde "texte", peut-être, mais directement un ".xls" ...

    awk est un "processeur" de fichier texte alors un fichier binaire, qui plus est, avec un format propriétaire !

  3. #3
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut
    Bonjour,

    Tu parles d'un fichier Excel et non d'un csv, c'est bien ca ?
    Comment arrives-tu à lire le contenu de ton xls ? Les fichiers Excel sont des fichiers binaires et non de simples fichiers texte...
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  4. #4
    Membre averti
    Inscrit en
    Février 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 55
    Par défaut
    oui je parle d'un fichier excel je tarvaille avec OpenOffice.org Calc mais si vous voulez je peux le convertir en CSV

  5. #5
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    En fait, pour l'attaquer avec awk, tu n'as pas trop le choix ...

    Tu dois avoir, lors de la "sauvegarde sous", pour un format texte/csv, le choix entre quelques séparateurs de champs/colonnes (ton FS pour awk). Attention aussi aux double-quotes qui peuvent encadrer le contenu de tes colonnes (de mémoire). Fais l'essai, tu verras ça très vite.

  6. #6
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Par défaut
    Citation Envoyé par nizar24 Voir le message
    oui je parle d'un fichier excel je tarvaille avec OpenOffice.org Calc mais si vous voulez je peux le convertir en CSV
    Le csv serait plus approprié.
    Il suffit de définir tes séparateurs de champs et voila !

    Par exemple, si tu choisis les ";" comme séparateurs, ton fichier csv sera de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ligne1champ1;ligne1champ2;ligne1champ3;
    ligne2champ1;ligne2champ2;ligne2champ3;
    ligne3champ1;ligne3champ2;ligne3champ3;
    Pour récupérer le champ 2 de la ligne 3 (=B3), la commande serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -F";" '{ if (NR==3) print $2}' tester.xls
    Explication :
    -F";" = séparateur
    NR==3 = numéro de la ligne
    $2 = 2eme champ
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  7. #7
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    petite précision

    les séparateurs "FS" dans ma dernière réponse et "F" dans celle de lavazavio ne sont pas contradictoires : "F" c'est l'option de la commande awk, "FS" c'est le nom de la variable correspondante dans le script awk, variable qui peut être initialisée dans une partie BEGIN du script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk -F";" '{ if (NR==3) print $2}' tester.xls
    est équivalent à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    awk  'BEGIN {FS = ";"} { if (NR==3) print $2}' tester.xls

  8. #8
    Membre averti
    Inscrit en
    Février 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 55
    Par défaut
    Bonjour s'il vous plait comment je peux ouvrir et écrire dans une nouvelle onglet excel Merci d'avance

Discussions similaires

  1. Renommer une cellule excel
    Par Oaurelius dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/11/2005, 17h36
  2. Importer le contenu d'une cellule Excel vers Access
    Par deaqu1 dans le forum Access
    Réponses: 7
    Dernier message: 05/11/2005, 15h26
  3. Affichage d'une cellule excel
    Par cciocc dans le forum ASP
    Réponses: 2
    Dernier message: 17/05/2005, 10h17
  4. Réponses: 4
    Dernier message: 15/04/2005, 15h25
  5. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50

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