Apr-25-2024, 06:26 PM
(This post was last modified: Apr-25-2024, 06:30 PM by deanhystad.)
I'm new to coding.
I created the following code, but I cannot place the data entered in my Google Sheet file. JSON works.
The date must go in the next 2 free cells in line 3
The time will have to go in the 2 next free cells in line 4
The registration must go in the 2 next free cells in line 1
Flight number will have to go in the 2 next free cells in line 2
routing will have to go in the next 2 free cells in line 5
I would then need when I click Visualiser les commandes pour un jour précis for the program to access the Google sheet and find the registration, flight id, time, routing information. and this is exported to a pdf file.
I know it's probably a lot of code but I don't know how to do it anymore.
Starting the code has already taken me a long time, and I've been trying for several hours without success
See the google sheet attached
I created the following code, but I cannot place the data entered in my Google Sheet file. JSON works.
The date must go in the next 2 free cells in line 3
The time will have to go in the 2 next free cells in line 4
The registration must go in the 2 next free cells in line 1
Flight number will have to go in the 2 next free cells in line 2
routing will have to go in the next 2 free cells in line 5
I would then need when I click Visualiser les commandes pour un jour précis for the program to access the Google sheet and find the registration, flight id, time, routing information. and this is exported to a pdf file.
I know it's probably a lot of code but I don't know how to do it anymore.
Starting the code has already taken me a long time, and I've been trying for several hours without success
See the google sheet attached
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
import tkinter as tk from tkinter import messagebox, simpledialog import gspread from google.oauth2.service_account import Credentials from datetime import datetime import webbrowser # Charger les informations d'identification depuis le fichier JSON gc = gspread.service_account(filename = r "C:\Users\Jérôme\Downloads\XXXXXXXXXX.json" ) # Ouvrir la feuille de calcul et l'onglet appropriés wks = gc. open ( "XXXXX" ).worksheet( "Service Order" ) def save_order(): compagnie_selected = selected_company.get() date = date_entry.get() heure = heure_entry.get() immatriculation = immatriculation_entry.get() numero_vol = numero_vol_entry.get() routing = routing_entry.get() # Trouver les prochaines lignes vides next_empty_row = len (wks.get_all_values()) + 1 # Insérer les données dans les prochaines lignes vides wks.update( f "A{next_empty_row}" , immatriculation) wks.update( f "B{next_empty_row}" , numero_vol) wks.update( f "C{next_empty_row}" , date) wks.update( f "D{next_empty_row}" , heure) wks.update( f "E{next_empty_row}" , routing) wks.update( f "B{next_empty_row + 1}" , numero_vol) # Afficher un message de confirmation messagebox.showinfo( "Enregistrement" , "La commande a été enregistrée avec succès !" ) # Fermer la fenêtre d'ajout de commande add_order_window.destroy() def add_order(root): companies = [ "xxxxxx" , "xxxxxxxxx" , "xxxxxxx" , "xxxxxxxxxx" , "xxxxxxxxx" ] # Variable pour stocker la compagnie sélectionnée selected_company = tk.StringVar(root) selected_company. set (companies[ 0 ]) # Définir la première compagnie comme valeur par défaut add_order_window = tk.Toplevel(root) add_order_window.title( "Ajouter une nouvelle commande" ) # Interface utilisateur pour saisir les détails de la commande tk.Label(add_order_window, text = "Pour quelle compagnie est cette commande?" ).grid(row = 0 , column = 0 ) compagnie_combobox = tk.OptionMenu(add_order_window, selected_company, * companies) compagnie_combobox.grid(row = 0 , column = 1 ) tk.Label(add_order_window, text = "Date de la commande (JJ/MM/AA):" ).grid(row = 1 , column = 0 ) date_entry = tk.Entry(add_order_window) date_entry.grid(row = 1 , column = 1 ) tk.Label(add_order_window, text = "Heure du vol:" ).grid(row = 2 , column = 0 ) heure_entry = tk.Entry(add_order_window) heure_entry.grid(row = 2 , column = 1 ) tk.Label(add_order_window, text = "Immatriculation avion:" ).grid(row = 3 , column = 0 ) immatriculation_entry = tk.Entry(add_order_window) immatriculation_entry.grid(row = 3 , column = 1 ) tk.Label(add_order_window, text = "Numéro de vol:" ).grid(row = 4 , column = 0 ) numero_vol_entry = tk.Entry(add_order_window) numero_vol_entry.grid(row = 4 , column = 1 ) tk.Label(add_order_window, text = "Routing (Départ - Destination):" ).grid(row = 5 , column = 0 ) routing_entry = tk.Entry(add_order_window) routing_entry.grid(row = 5 , column = 1 ) save_button = tk.Button(add_order_window, text = "Enregistrer" , command = save_order) save_button.grid(row = 6 , columnspan = 2 ) # Bouton pour revenir à la fenêtre principale return_button = tk.Button(add_order_window, text = "Retour" , command = root.deiconify) return_button.grid(row = 7 , columnspan = 2 ) def main(): root = tk.Tk() root.title( "Gestionnaire de commandes" ) def open_consult_page(): root.withdraw() # Cache la fenêtre principale consult_orders() # Ouvre la page de consultation des commandes root.deiconify() # Affiche à nouveau la fenêtre principale quand la page de consultation est fermée def open_add_order_page(): root.withdraw() add_order(root) # Passer la variable root comme paramètre root.deiconify() tk.Button(root, text = "Consulter les commandes pour un jour précis" , command = open_consult_page).pack(pady = 10 ) tk.Button(root, text = "Ajouter une nouvelle commande" , command = open_add_order_page).pack(pady = 10 ) tk.Button(root, text = "Quitter" , command = root.quit).pack(pady = 10 ) root.mainloop() if __name__ = = "__main__" : main() |