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

Python Discussion :

Openpyxl tkinter chercher une valeur dans une colonne Excel


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2019
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 133
    Par défaut Openpyxl tkinter chercher une valeur dans une colonne Excel
    Bonjour,
    je suis un grand débutant en Python et je rencontre un problème actuellement je n'arrive pas à le résoudre même si cela va paraitre banal pour quelques uns parmi vous je pense.
    En fait, lorsque l'utilisateur saisi un ID (format Txxxxx) dans la zone de saisi Z1, je veux que le programme aille dans le fichier Excel "Mon_Excel.xlsx" et cherche dans la colonne B si l'ID existe dans cette colonne ou non. S'il existe, retourner la valeur de la première ligne où cet ID a été trouvé de la colonne "I" dans la zone texte ZT2. Une sorte de recherchev.
    Voici mon bout de code à compléter:
    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
    33
    34
    35
    36
    from tkinter import *
    from tkinter import messagebox
    import openpyxl
    from openpyxl import Workbook
     
    def Verification(*args):
       value = ZT1.get()
       if len(value) != 6 or value[:1] != "T" or not value[1:6].isdigit() :
         messagebox.showwarning("Erreur", "Merci de renseigner un ID valide")
         ZT1.delete(0,END)
       else :
     
    # Mettre la valeur de la colonne "I" dans ZT2
     
    fen = Tk()
    fen.state('zoomed')
    fen.title('Rapports CCU')
    Label1 = Label(fen, text = "N° ID :", font = 'times')
    Label1.place(x = 35,y = 16)
     
    Label2 = Label(fen, text = "Région :", font = 'times')
    Label2.place(x = 268,y = 16)
     
     
    ZT1 = Entry(fen, width = 17, justify='center', bg="#aee6ff")
    ZT1.place(x = 155, y = 20)
    ZT1.bind("<Return>",Verification)
     
    ZT2 = Text(fen, width = 13, height=1, bg="#c9d4ff")
    ZT2.place(x = 405, y = 20)
    ZT2.config (state=DISABLED)
     
    wb = openpyxl.load_workbook('Mon_Excel.xlsx')
    ws = wb.active
     
    fen.mainloop()
    Je travaille avec Excel 2016 et Python 3.
    Pourriez-vous donner un coup de main svp?
    Cdt;

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Voici comment vous éffectuez une recherche dans le fichier excel (problème primaire) et puis faites placer dans une instance de Text de tk (problème d'intégration).
    Code python3 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def Verification(*args):
        value = ZT1.get()
        if len(value) != 6 or value[:1] != "T" or not value[1:6].isdigit() :
            messagebox.showwarning("Erreur", "Merci de renseigner un ID valide")
            ZT1.delete(0,END)
        else :
            for cell in ws['B']:
                if cell.value==value:
                    vfound=ws.cell(row=cell.row, column=openpyxl.utils.cell.column_index_from_string('I')).value
                    ZT2.config(state='normal')
                    ZT2.delete('1.0',END)
                    ZT2.insert('1.0',vfound)
                    ZT2.config(state='disabled')
                    break

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2019
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 133
    Par défaut
    @tsuji: ton code marche super bien. Merci beaucoup !

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

Discussions similaires

  1. [XL-365] Utiliser index pour chercher des valeurs dans un dossier Excel
    Par Numenor_Illuvatar dans le forum Excel
    Réponses: 2
    Dernier message: 07/05/2020, 17h09
  2. Réponses: 5
    Dernier message: 02/12/2011, 14h57
  3. Réponses: 13
    Dernier message: 21/02/2011, 20h33
  4. changer la valeur des données dans une colonne excel et les trier
    Par thewind1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2011, 22h35
  5. Recherche d'une valeur dans plusieurs colonnes
    Par Arnaud F. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/03/2009, 11h44

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