Bonjour à toutes et à tous
J'ai un soucis.
J'ai une interface graphique où je peux saisir des médicaments dans une liste déroulante. Lorsque l'utilisateur valide l'interface graphique si le médicaments n'ai pas dans la liste des médicaments connu par la base de donnée on ouvrez un pop-up qui va lui permettre d'ajouter le médicaments à la base de donnée.

Le problème est que lorsque j'appel ma fonction (qui est dans un autre fichier) à partir de l'interface le nom du médicament ne passe pas de l'un à l'autre. Il n'apparait pas dans le pop-up.
Lorsque je créer un fichier tout bête où j'appel la fonction l'information du nom de médciament passe maislors de l'appel depuis l'autre interface cela ne fonctionne pas.
J'ai bien vérifier que la fonction get() me retour une valeur, j'ai même essayer en mettant manuellement une valeur mais cela ne change rien.

Voici les lignes de codes pour l'interface du pop-up

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
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
 # on importe les librairies dont nous avons besoins
import tkinter as tk
import sqlite3
import Alerte
from tkinter import ttk
 
libelle_utilisateur = ""
ATCutilisateur = 0
unique = 0
 
 
# on creer la classe pour l'interface
class AffichageAjouteMedicament(tk.Tk):
    # ligne de code qui se lance lorsque de l'initialisation
    def __init__(self):
        tk.Tk.__init__(self)
        # on cree la liste des classe ATC
        conn = sqlite3.connect('déclaration.db')
        cursor = conn.cursor()
        cursor.execute("""SELECT Description FROM ATC """)
        result = cursor.fetchall()
        conn.close()
 
 
        # on creer une liste pour peulpler la classe ATC
        liste_atc = []
        for resultat in result:
            liste_atc.append(resultat[0])
 
        # on creeer les variable de texte
        self.te_medicament = tk.StringVar()
        self.te_code_ucd = tk.StringVar()
 
        global libelle_utilisateur
        self.te_medicament.set(libelle_utilisateur)
 
        # on creer les objet de types label
        self.label_nom_medicament = tk.Label(self, text="Libelle du médicament")
        self.label_code_ucd = tk.Label(self, text="Code UCD")
        self.label_classe_atc = tk.Label(self, text="Classe ATC")
 
        # on recupere les informations saisie pas l'utilisateur
        # on doit mettre la valeur de la varible avant sinon la valeur ne s'affiche pas
 
 
        # on creer les objets de types entry
        self.entry_nom_medicament = tk.Entry(self, textvariable=self.te_medicament)
        self.entry_code_ucd = tk.Entry(self, textvariable=self.te_code_ucd)
 
        # on crée la combobox
        self.classe_atc = ttk.Combobox(self, width=27)
        self.classe_atc['values'] = liste_atc
 
        # on force la valeur de la combobox
        global ATCutilisateur
        self.classe_atc.current(ATCutilisateur)
 
        # on creer les objet de type bouton
        self.bouton_validation = tk.Button(self, text="    Ok    ", command=self.ajout_medicament)
 
 
        # on place les objets linge 1
        self.label_nom_medicament.grid(row=1, column=0)
        self.entry_nom_medicament.grid(row=1, column=1)
        # on place les objet ligne 2
        self.label_code_ucd.grid(row=2, column=0)
        self.entry_code_ucd.grid(row=2, column=1)
        # on place les objets ligne3
        self.label_classe_atc.grid(row=3, column=0)
        self.classe_atc.grid(row=3, column=1)
        # on place les objets ligne 4
        self.bouton_validation.grid(row=4, column=1)
 
 
 
        # on creer les evenements
        self.classe_atc.bind("<<ComboboxSelected>>", self.auto_taille)
 
 
 
    def auto_taille(self, event):
        longeur = len(self.classe_atc.get())
        self.classe_atc['width'] = longeur + 2
        self.entry_code_ucd['width'] = longeur + 5
        self.entry_nom_medicament['width'] = longeur + 5
 
    def ajout_medicament(self):
        # on creer les variables
        continuer = 1
        nommedoc = self.te_medicament.get()
        codeucd = self.te_code_ucd.get()
        classatc = self.classe_atc.current() + 1
 
        # on va verifier que l'ensemble des informations sons saisies
        # on verifie le nom du médicament
        if len(nommedoc) == 0:
            Alerte.appel_affichage_alerte("Merci de saisir le nom du médicament")
            continuer = 0
 
        # on verifie la longeur du code UCD
        if len(codeucd) == 7 or len(codeucd) == 13:
            pass
        else:
            Alerte.appel_affichage_alerte("Merci de saisir un code UCD7 ou UCD13")
            continuer = 0
 
        # on verifie qu'on est bien saisie un code ATC
        if len(self.classe_atc.get()) == 0:
            Alerte.appel_affichage_alerte("Merci de selectionner une classe ATC")
            continuer = 0
 
        # on va aussi vérifier que le code UCD n'existe pas déja
        conn = sqlite3.connect('déclaration.db')
        cursor = conn.cursor()
        cursor.execute("SELECT CodeUCD FROM Medoc")
        ucd = cursor.fetchall()
        conn.close()
        if ucd is None:
            pass
        for ListeCodeUCD in ucd:
            if ListeCodeUCD[0] == codeucd:
                Alerte.appel_affichage_alerte("Ce code UCD existe déja")
                continuer = 0
 
        # on verifie que toutes les informations sons saisies
        if continuer == 1:
            # on a les informations indispensables on peux donc ajouter le médicaments à la liste déroulantes
            conn = sqlite3.connect('déclaration.db')
            cursor = conn.cursor()
            sql = "INSERT INTO Medoc(Libelle, CodeUCD,ClasseATC) VALUES(?,?,?)"
            val = (nommedoc, codeucd, classatc)
            cursor.execute(sql, val)
            Alerte.appel_affichage_alerte("Vous avez ajouter votre médicament")
            conn.commit()
            conn.close()
 
            # on detruit la fenetre et on detruit le moteur de la fenetre
            self.destroy()
            self.quit()
 
            global unique
            if unique == 0:
                relance()
 
 
def appel_affichage_ajout_medicament(libelle="", atc=0, relance=0):
    global libelle_utilisateur
    global ATCutilisateur
    global unique
    libelle_utilisateur = libelle
    ATCutilisateur = atc
    if ATCutilisateur <0 : ATCutilisateur=0
    unique = relance
    app2 = AffichageAjouteMedicament()
    app2.title("Ajouter un médicament à la base")
    app2.mainloop()
 
 
def relance():
    Relancer = Alerte.appel_affichage_alerte_on("Voulez-vous ajouter un autre medicament ?")
    if Relancer == True:
        appel_affichage_ajout_medicament()
et l'interface qui appel la fonction
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
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
# on importe les librairies dont nous avons besoins
import tkinter as tk
from ttkwidgets.autocomplete import AutocompleteCombobox
from tkinter import ttk
import sqlite3
import Alerte
import datetime
import AjouterMedicament
 
Idutilisateur = 0
 
 
# on creer la classe pour l'interface
class AffichageEcritureIP(tk.Tk):
    # ligne de code qui se lance lorsque de l'initialisation
    def __init__(self):
        tk.Tk.__init__(self)
        # on ca creer les variable de texte pour les entry
        self.te_date_realisation = tk.StringVar()
        self.te_numero_ip = tk.StringVar()
        self.te_nom_patient = tk.StringVar()
        self.te_prenom_patient = tk.StringVar()
        self.te_poids = tk.IntVar()
        self.te_age = tk.IntVar()
        self.te_description_probleme = tk.StringVar()
        self.te_date_contact_medecin = tk.StringVar()
        self.te_retour_medecin = tk.StringVar()
        self.te_classe_atc_medicament_1 = tk.StringVar()
        self.te_classe_atc_medicament_2 = tk.StringVar()
        self.te_oral = tk.IntVar()
        self.te_telephone = tk.IntVar()
        self.te_lap = tk.IntVar()
        self.te_papier = tk.IntVar()
        self.te_mail = tk.IntVar()
        self.te_autre = tk.IntVar()
 
        # on va creer les listes pour remplir les listes déroulantes
        conn = sqlite3.connect('déclaration.db')
        cursor = conn.cursor()
        cursor.execute("""SELECT NomService FROM Service """)
        service = cursor.fetchall()
        cursor.execute("""SELECT Description FROM Probleme """)
        probleme = cursor.fetchall()
        cursor.execute("""SELECT Description FROM Resolution """)
        resolution = cursor.fetchall()
        cursor.execute("""SELECT Description FROM ATC """)
        atc = cursor.fetchall()
        cursor.execute("""SELECT Description FROM Devenir """)
        devenir = cursor.fetchall()
        cursor.execute("""SELECT Description FROM Prescripteur """)
        prescripteur = cursor.fetchall()
        cursor.execute("""SELECT Description FROM Transmission """)
        transmission = cursor.fetchall()
        cursor.execute("""SELECT Description FROM CotationClinique """)
        cotation_clinique = cursor.fetchall()
        cursor.execute("""SELECT Description FROM CotationEconomique """)
        cotation_economique = cursor.fetchall()
        cursor.execute("""SELECT Description FROM CotationOrganisationnel """)
        cotation_orga = cursor.fetchall()
        cursor.execute("""SELECT Libelle FROM Medoc ORDER BY Libelle ASC""")
        medoc = cursor.fetchall()
        cursor.execute("""SELECT Libelle FROM Sexe """)
        sexe = cursor.fetchall()
        cursor.execute("""SELECT Libelle FROM UniteAge """)
        unite_age = cursor.fetchall()
        conn.close()
 
        # on transforme les réponses en liste
        liste_service = []
        for resultat in service:
            liste_service.append(resultat[0])
        liste_probleme = []
        for resultat in probleme:
            liste_probleme.append(resultat[0])
        liste_resolution = []
        for resultat in resolution:
            liste_resolution.append(resultat[0])
        liste_atc = []
        for resultat in atc:
            liste_atc.append(resultat[0])
        liste_devenir = []
        for resultat in devenir:
            liste_devenir.append(resultat[0])
        liste_prescripteur = []
        for resultat in prescripteur:
            liste_prescripteur.append(resultat[0])
        liste_transmission = []
        for resultat in transmission:
            liste_transmission.append(resultat[0])
        liste_cotation_clinique = []
        for resultat in cotation_clinique:
            liste_cotation_clinique.append(resultat[0])
        liste_cotation_economique = []
        for resultat in cotation_economique:
            liste_cotation_economique.append(resultat[0])
        liste_cotation_orga = []
        for resultat in cotation_orga:
            liste_cotation_orga.append(resultat[0])
        self.liste_medoc = []
        for resultat in medoc:
            self.liste_medoc.append(resultat[0])
        liste_sexe = []
        for resultat in sexe:
            liste_sexe.append(resultat[0])
        liste_unite_age = []
        for resultat in unite_age:
            liste_unite_age.append(resultat[0])
 
        # on va creer les labbel
        self.label_date_realisation = tk.Label(self, text=" Date de réalisation")
        self.label_numero_ip = tk.Label(self, text="Numéro IP")
        self.label_service = tk.Label(self, text="Service")
        self.label_nom_patient = tk.Label(self, text="Nom du patient")
        self.label_prenom_patient = tk.Label(self, text="Prenom du patient")
        self.label_poids = tk.Label(self, text=" Poids")
        self.label_age = tk.Label(self, text="Age")
        self.label_unite_age = tk.Label(self, text="Unite de l'âge")
        self.label_sexe = tk.Label(self, text="Sexe")
        self.label_probleme = tk.Label(self, text="Probléme")
        self.label_intervention = tk.Label(self, text="Intervention")
        self.label_prescripteur = tk.Label(self, text="Prescripteur")
        self.label_description_probleme = tk.Label(self, text="Description du probleme")
        self.label_medicament_1 = tk.Label(self, text="Medicament 1")
        self.label_classe_atc_medicament_1 = tk.Label(self, text="Classe ATC")
        self.label_medicament_2 = tk.Label(self, text="Medicament 2")
        self.label_classe_atc_medicament_2 = tk.Label(self, text="Classe ATC")
        self.label_contact_medecin = tk.Label(self, text="Contact médecin")
        self.label_conciliation = tk.Label(self, text="Intervention durant la conciliation")
        self.label_date_contact_medecin = tk.Label(self, text="Date de contact du médecin")
        self.label_retour_medecin = tk.Label(self, text="Retour du médecin")
        self.label_devenir_intervention = tk.Label(self, text="Devenir de l'intervention")
        self.label_clinique = tk.Label(self, text="Clinique")
        self.label_economique = tk.Label(self, text="Economique")
        self.label_orga = tk.Label(self, text="Organisationnel")
        self.label_cotation = tk.Label(self, text="Cotation")
 
        # on va creer les entry, textbox autocomplete et les texte
        self.entry_date_realisation = tk.Entry(self, textvariable=self.te_date_realisation)
        self.entry_numero_ip = tk.Entry(self, textvariable=self.te_numero_ip)
        self.entry_service = AutocompleteCombobox(self, width=20, completevalues=liste_service)
        self.entry_nom_patient = tk.Entry(self, textvariable=self.te_nom_patient)
        self.entry_prenom_patient = tk.Entry(self, textvariable=self.te_prenom_patient)
        self.entry_poids = tk.Entry(self, textvariable=self.te_poids)
        self.entry_age = tk.Entry(self, textvariable=self.te_age)
        self.description_probleme = tk.Text(self, height=5, width=30)
        self.entry_medicament_1 = AutocompleteCombobox(self, width=20, completevalues=self.liste_medoc)
        self.entry_medicament_2 = AutocompleteCombobox(self, width=20, completevalues=self.liste_medoc)
        self.entry_date_contact_medecin = tk.Entry(self, textvariable=self.te_date_contact_medecin)
        self.retour_medecin = tk.Text(self, height=5, width=30)
 
        # on va creer les check bouttons pour le contact du medecin
        self.check_button_oral = tk.Checkbutton(self, text="Oralement" , variable=self.te_oral)
        self.check_button_telephone = tk.Checkbutton(self, text="Téléphone", variable=self.te_telephone)
        self.check_button_lap = tk.Checkbutton(self, text="LAP", variable=self.te_lap)
        self.check_button_papier = tk.Checkbutton(self, text="Papier", variable=self.te_papier)
        self.check_button_mail = tk.Checkbutton(self, text="Mail", variable=self.te_mail)
        self.check_button_autre = tk.Checkbutton(self, text="Autre", variable=self.te_autre)
 
        # on creer le combobox
        self.sexe = ttk.Combobox(self, values=liste_sexe)
        self.probleme = ttk.Combobox(self, values=liste_probleme)
        self.intervention = ttk.Combobox(self, values=liste_resolution)
        self.prescripteur = ttk.Combobox(self, values=liste_prescripteur)
        self.unite_age = ttk.Combobox(self, values=liste_unite_age)
        self.classe_atc_medicament_1 = ttk.Combobox(self, values=liste_atc, textvar=self.te_classe_atc_medicament_1)
        self.classe_atc_medicament_2 = ttk.Combobox(self, values=liste_atc, textvar=self.te_classe_atc_medicament_2)
        self.devenir_intervention = ttk.Combobox(self, values=liste_devenir)
        self.cotation_clinique = ttk.Combobox(self, values=liste_cotation_clinique)
        self.cotation_economique = ttk.Combobox(self, values=liste_cotation_economique)
        self.cotation_orga = ttk.Combobox(self, values=liste_cotation_orga)
 
        # on creer les bouttons
        self.intervention_conciliation = tk.Button(self, text="Non", command=self.clic_boutton_conciliation)
        self.bouton_validation = tk.Button(self, text="    Ok    ", command=self.ValidationIP)
 
        # on positionne
        self.label_date_realisation.grid(row=0, column=0)
        self.entry_date_realisation.grid(row=0, column=1)
        self.label_description_probleme.grid(row=0, column=3, rowspan=2)
        self.description_probleme.grid(row=0, column=4, rowspan=2, columnspan=2)
 
        self.label_numero_ip.grid(row=1, column=0)
        self.entry_numero_ip.grid(row=1, column=1)
 
        self.label_service.grid(row=2, column=0)
        self.entry_service.grid(row=2, column=1)
        self.label_medicament_1.grid(row=2, column=3)
        self.entry_medicament_1.grid(row=2, column=4, columnspan=2)
 
        self.label_nom_patient.grid(row=3, column=0)
        self.entry_nom_patient.grid(row=3, column=1)
        self.label_classe_atc_medicament_1.grid(row=3, column=3)
        self.classe_atc_medicament_1.grid(row=3, column=4, columnspan=2)
 
        self.label_prenom_patient.grid(row=4, column=0)
        self.entry_prenom_patient.grid(row=4, column=1)
        self.label_medicament_2.grid(row=4, column=3)
        self.entry_medicament_2.grid(row=4, column=4, columnspan=2)
 
        self.label_poids.grid(row=5, column=0)
        self.entry_poids.grid(row=5, column=1)
        self.label_classe_atc_medicament_2.grid(row=5, column=3)
        self.classe_atc_medicament_2.grid(row=5, column=4, columnspan=2)
 
        self.label_poids.grid(row=5, column=0)
        self.entry_poids.grid(row=5, column=1)
        self.label_classe_atc_medicament_2.grid(row=5, column=3)
        self.classe_atc_medicament_2.grid(row=5, column=4, columnspan=2)
 
        self.label_age.grid(row=6, column=0)
        self.entry_age.grid(row=6, column=1)
        self.label_contact_medecin.grid(row=6, column=3, rowspan=2)
        self.check_button_oral.grid(row=6, column=4)
        self.check_button_telephone.grid(row=6, column=5)
        self.check_button_lap.grid(row=6, column=6)
 
        self.label_unite_age.grid(row=7, column=0)
        self.unite_age.grid(row=7, column=1)
        self.check_button_papier.grid(row=7, column=4)
        self.check_button_mail.grid(row=7, column=5)
        self.check_button_autre.grid(row=7, column=6)
 
        self.label_sexe.grid(row=8, column=0)
        self.sexe.grid(row=8, column=1)
        self.label_date_contact_medecin.grid(row=8, column=3)
        self.entry_date_contact_medecin.grid(row=8, column=4, columnspan=2)
 
        self.label_probleme.grid(row=9, column=0)
        self.probleme.grid(row=9, column=1)
        self.label_retour_medecin.grid(row=9, column=3, rowspan=2)
        self.retour_medecin.grid(row=9, column=4, rowspan=2, columnspan=2)
 
        self.label_intervention.grid(row=10, column=0)
        self.intervention.grid(row=10, column=1)
 
        self.label_prescripteur.grid(row=11, column=0)
        self.prescripteur.grid(row=11, column=1)
        self.label_devenir_intervention.grid(row=11, column=3)
        self.devenir_intervention.grid(row=11, column=4, columnspan=2)
 
        self.label_conciliation.grid(row=12, column=0)
        self.intervention_conciliation.grid(row=12, column=1)
 
        self.label_cotation.grid(row=13, column=0, columnspan=8)
 
        self.label_clinique.grid(row=14, column=0, columnspan=2)
        self.label_economique.grid(row=14, column=3, columnspan=2)
        self.label_orga.grid(row=14, column=5, columnspan=2)
 
        self.cotation_clinique.grid(row=15, column=0, columnspan=2)
        self.cotation_economique.grid(row=15, column=3, columnspan=2)
        self.cotation_orga.grid(row=15, column=5, columnspan=2)
 
        self.bouton_validation.grid(row=16, column=5)
 
        # on va rendr eles colonne homogene
 
        # on va creer le redimensionnement automatique
        self.classe_atc_medicament_1.bind("<<ComboboxSelected>>", self.auto_taille_colonne_2)
        self.classe_atc_medicament_2.bind("<<ComboboxSelected>>", self.auto_taille_colonne_2)
        self.probleme.bind("<<ComboboxSelected>>", self.auto_taille_colonne_1)
        self.entry_prenom_patient.bind("<KeyRelease>", self.longeur_taille_prenom_patient)
        self.entry_nom_patient.bind("<KeyRelease>", self.longeur_taille_nom_patient)
        self.te_classe_atc_medicament_1.trace("w",self.auto_taille_colonne_2)
        self.te_classe_atc_medicament_2.trace("w", self.auto_taille_colonne_2)
        self.entry_medicament_1.bind("<<ComboboxSelected>>", self.ChangementMedicament1)
        self.entry_medicament_2.bind("<<ComboboxSelected>>", self.ChangementMedicament2)
 
    def auto_taille_colonne_2(self,event,var1,var2):
        """
            Permet de modifier la taille de la colonne avec les médicaments1...
            les 4 variables sont utilisées pour eviter l'erreur avec la fonction trace
        """
        longeur_medoc_1 = len(self.entry_medicament_1.get())
        longeur_medoc_2 = len(self.entry_medicament_2.get())
        longeur_classe_atc_1 = len(self.te_classe_atc_medicament_1.get())
        longeur_classe_atc_2 = len(self.te_classe_atc_medicament_2.get())
        longeur = [longeur_medoc_1, longeur_medoc_2, longeur_classe_atc_1, longeur_classe_atc_2]
        longeur_max = max(longeur)
        self.description_probleme['width'] = longeur_max
        self.entry_medicament_1['width'] = longeur_max + 2
        self.classe_atc_medicament_1['width'] = longeur_max + 2
        self.entry_medicament_2['width'] = longeur_max + 2
        self.classe_atc_medicament_2['width'] = longeur_max + 2
        self.entry_date_contact_medecin['width'] = longeur_max
        self.retour_medecin['width'] = longeur_max + 5
        self.devenir_intervention['width'] = longeur_max + 2
 
    def auto_taille_colonne_1(self, event):
        longeur_probleme = len(self.probleme.get())
        longeur_intervention = len(self.intervention.get())
        longeur_max = max(longeur_probleme, longeur_intervention)
        self.entry_date_realisation['width'] = longeur_max + 2
        self.entry_numero_ip['width'] = longeur_max + 2
        self.entry_service['width'] = longeur_max
        self.entry_nom_patient['width'] = longeur_max + 2
        self.entry_prenom_patient['width'] = longeur_max + 2
        self.entry_poids['width'] = longeur_max + 2
        self.entry_age['width'] = longeur_max + 2
        self.unite_age['width'] = longeur_max
        self.sexe['width'] = longeur_max
        self.probleme['width'] = longeur_max
        self.intervention['width'] = longeur_max
        self.prescripteur['width'] = longeur_max
 
    def longeur_taille_prenom_patient(self, event):
        longeur = len(self.te_prenom_patient.get())
        if longeur > 2:
            self.te_prenom_patient.set(self.te_prenom_patient.get()[:2])
 
    def longeur_taille_nom_patient(self, event):
        longeur = len(self.te_nom_patient.get())
        if longeur > 3:
            self.te_nom_patient.set(self.te_nom_patient.get()[:3])
 
    def clic_boutton_conciliation(self):
        if self.intervention_conciliation["bg"] == "SystemButtonFace":
            self.intervention_conciliation["bg"] = "dim gray"
            self.intervention_conciliation["text"] = "Oui"
        else:
            self.intervention_conciliation["bg"] = "SystemButtonFace"
            self.intervention_conciliation["text"] = "Non"
 
    def ValidationIP(self):
        global Idutilisateur
        # on commence par verifier que les donne importante sont saisie
        continuer = 0
        if len(self.te_date_realisation.get()) == 0:
            Alerte.appel_affichage_alerte("Il faut saisir la date de réalisation")
            continuer = 1
        if len(self.entry_service.get()) == 0:
            Alerte.appel_affichage_alerte("Il faut saisir le service")
            continuer = 1
        if len(self.entry_age.get()) == 0 or self.entry_age.get()=="0":
            Alerte.appel_affichage_alerte("Il faut saisir l'age du patient")
            continuer = 1
        if self.unite_age.get() == "":
            Alerte.appel_affichage_alerte("Il faut saisir l'unite de l'age du patient")
            continuer = 1
        if self.sexe.get() == "":
            Alerte.appel_affichage_alerte("Il faut saisir le sexe du patient")
            continuer = 1
        if self.probleme.get() == "":
            Alerte.appel_affichage_alerte("Il faut saisir le probleme")
            continuer = 1
        if self.intervention.get() == "":
            Alerte.appel_affichage_alerte("Il faut saisir l'intervention")
            continuer = 1
        if self.prescripteur.get() == "":
            Alerte.appel_affichage_alerte("Il faut saisir le prescripteur")
            continuer = 1
        if len(self.entry_medicament_1.get()) == 0:
            Alerte.appel_affichage_alerte("Il faut saisir le médicament")
            continuer = 1
        if self.devenir_intervention.get() == "":
            Alerte.appel_affichage_alerte("Il faut saisir le devenir de l'IP")
            continuer = 1
        # on creer un tableau avec les IP qui necessitent de saisir un autre médicaments
        ip_avec_deux_medicament = [15, 19, 20, 21, 22, 23, 24, 25, 34]
 
        # on rajoute 1 à l'ID car le premier de la liste à l'ID 0
        id_probleme = (self.probleme.current() + 1)
        if id_probleme in ip_avec_deux_medicament and len(self.entry_medicament_2.get()) == 0:
            Alerte.appel_affichage_alerte("Il faut saisir le second médicament pour cette intervention")
            continuer = 1
 
        liste_contact = ""
        if self.te_oral.get() == 1:
            liste_contact = liste_contact + "Oral"
 
        if self.te_telephone.get() == 1:
            liste_contact = liste_contact + " Telephone"
 
        if self.te_lap.get() == 1:
            liste_contact = liste_contact + " LAP"
 
        if self.te_papier.get() == 1:
            liste_contact = liste_contact + " Papier"
 
        if self.te_mail.get() == 1:
            liste_contact = liste_contact + " Mail"
 
        if self.te_autre.get() == 1:
            liste_contact = liste_contact + " Autre"
 
        print(liste_contact)
        # si les informations necessaires sont saisies on ajoute l'IP
        if continuer == 1:
            pass
        else:
            # on va donc ajouter l'IP dans la base
            global Idutilisateur
            # on transformer la conciliation en 1 ou 0
            if self.intervention_conciliation["text"] == "Non":
                conciliation = 0
            else:
                conciliation = 1
 
            # on va verifier que le/les medoc(s) saisi existe bien dans la base de donnée
            # on verifie si le service fait partie de la liste
            # on va transformer la liste de tuple en list pur
            print(type(self.entry_medicament_1.get()))
            if self.entry_medicament_1.get() in self.liste_medoc:
                pass
            else:
                AjouterMedicament.appel_affichage_ajout_medicament(self.entry_medicament_1.get(),
                                                                   self.classe_atc_medicament_1.current(), 1)
 
            if self.entry_medicament_2.get() == "" or self.entry_medicament_2.get() in list(sum(self.liste_medoc, ())):
                pass
            else:
                AjouterMedicament.appel_affichage_ajout_medicament("test2",
                                                                   self.classe_atc_medicament_2.current(), 1)
Merci d'avance pour votre aide