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

Bibliothèques tierces Python Discussion :

Afficher cacher des ligne dans un ficheir excel avec pywin32


Sujet :

Bibliothèques tierces Python

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 57
    Points : 46
    Points
    46
    Par défaut Afficher cacher des ligne dans un ficheir excel avec pywin32
    Bonjour,

    Dans un fichier excel, je cherche à cacher des lignes dont l'une des colonne a une valeur de '0'.

    Afin de séléctionner toutes les cellule de cette colonne, j'utilise:

    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
    import win32com.client as win32
    import win32com.client.dynamic
    from pywintypes import UnicodeType, TimeType
    import os
     
    # Ouverture du fichier pour édition
    xls = excel.Workbooks.Open ('I:\VIVAQUA\CAD\AS\DEL-web\Divers\Lot_1.xls')
    excel.Visible = False
     
    """====================================================="""
     
    # on sélectionne les cellulles de la colonne H
    sht = xls.Worksheets('Calcul')
    print sht.Range(sht.Cells(11, 8), sht.Cells(843, 8)).Value # ici j'affiche les valeurs dans la console.
     
    """======================================================"""
     
    #On sauve sous et puis on quitte
    xls.SaveAs('E:/text3.xls')
    xls.Close()
    del excel  
     
    #on ouvre le fichier ainsi sauvé
    os.startfile('E:/text3.xls')
    Ce bout de code me renvoie bien toutes les valeurs contenues dans les cellule de la colonne 'H' des la ligne 11 à 843...

    A présent, je voudrais ne selectionner que les cellules dont la valeur est à zéro puis cacher les lignes entières correspondantes.

    Quelqu'un aurait une idée ?


    Un tout gran merci d'avance,

    Pierre

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Points : 406
    Points
    406
    Par défaut
    En partant de ton exemple, on peut peut être essayé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in range(11,844):
       if sht.Cells(i, 8) != 0:
          print sht.Range(sht.Cells(i, 1), sht.Cells(i, Nb_Colonne)).Value #Attention si 1ere colonne a pour 'index' 0 ou 1)
    Ainsi tu ne sors que les lignes dont la colonne G n'est pas à 0.
    Si tu "print" dans un nouveau fichier tu auras une copie filtrée du fichier
    je garantis pas le code car ne je peux pas le tester (python pas installé)

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 57
    Points : 46
    Points
    46
    Par défaut
    ...
    Pas de résultat, malgrè tout l'affichage me sort des cellules à zéro

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Points : 406
    Points
    406
    Par défaut
    Citation Envoyé par pierre3401 Voir le message
    ...
    Pas de résultat, malgrè tout l'affichage me sort des cellules à zéro
    Tu n'as pas de résultat ou tu en as un mais pas celui que tu attends
    Soit un peu plus précis sur ce qui va pas car ce sera plus facile pour t'aider

    Edit:

    Sinon apparemment tu peux supprimer les lignes x à y comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    excel = win32com.client.Dispatch("Excel.Application")
    excel.Rows("x:y").Select()
    excel.Selection.EntireRow.Hidden = True

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/03/2014, 13h39
  2. Réponses: 5
    Dernier message: 11/08/2008, 15h25
  3. [CR2008]Comment cacher des lignes dans un tableau croisé
    Par bcgetpause dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 21/05/2008, 15h14
  4. [VBA-E] Problème pour insérer des lignes dans une feuille Excel
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 14h13
  5. Attraper des lignes dans un fichier excel
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/01/2007, 11h27

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