# Autres langages > Python > GUI > [Python 3.X] Rcuprer valeur d'un "Entry" d'un fichier 'A' depuis une fonction dans un autre fichier 'B'

## 4n42x1

Bonjour la communaut,

Je m'initie doucement  Python (3.6.02b) et suis actuellement  la partie GUI.
Voici mon problme:
Je cre un formulaire dans un fichier "main" (avec Label et Entry) puis je tente de rcuprer la valeur des Entry via une fonction situe sur un fichier "function" import dans "main" (videment).
Sauf que Python ne reconnat pas la variable de mon Entry (undefined).
Pourtant ma fonction est bien importe et la variable "entreeType" devrait tre accessible non ?
Voici le code allg (car plusieurs Label, Entry)
Code de "formulaireMain.py"


```

```

Code "formulaireFunctions"


```

```

Bref je ne comprend pas, j'ai essay de mettre "entreeType" en global mais a ne change rien  ::(: 
J'espre que ce n'est pas une histoire de classe car pas encore lu ce chapitre.
D'avance merci pour votre aide  :;): 

Nb: Je passe par un autre fichier pour la clart finale du programme (j'aurais plusieurs fonction), la cration de la fentre (Label, Entry, Button, ect..) le sera galement (enfin si possible).

----------


## wiztricks

Salut,





> Pourtant ma fonction est bien importe et la variable "entreeType" devrait tre accessible non ?


La porte d'une variable (globale) est limit au module (le script qui la dfinit).
Donc, si la variable n'est pas dfinie dans le module formulaireFunctions, elle n'existe pas.
La solution peut tre de la dfinir via import comme pour la dfinition de la variable "retour", mais vous allez faire des import circulaire et  ne marchera toujours pas.




> j'ai essay de mettre "entreeType" en global mais a ne change rien 
> J'espre que ce n'est pas une histoire de classe car pas encore lu ce chapitre.


Ce n'est pas une histoire de classe mais d'espaces de nommage et de porte qu'il vous sera plus facile de matriser lorsque vous aurez vu ce que sont les classes (car les modules sont des sortes de classes).

Vous avez 3 faons de vous en sortir.
La premire est de patienter un peu avant de vouloir dcouper votre script en modules.
La seconde est d'utiliser les fonctionnalits de tkinter. Lorsque vous crivez:


```

```

event est l'instance d'une classe qui contient l'attribut widget qui est justement l'entry...


```

```

La 3me est plus "Pythonesque":


```
root.bind("<Return>", lambda e: retour(entreeType))
```

puis:


```

```

Ce qui revient  fabriquer une fonction qui absorbe l'event pass normalement et appelle la fonction avec l'entry en paramtre.

- W

----------


## 4n42x1

Merci de ta rponse  :;): 

La solution 2 fonctionne mais je vais attendre avant de l'utiliser car je ne comprends pas encore toute sa subtilit. De plus je dois faire a pour une dizaine d'Entry  ::(: 
Je vais le faire sans dcoupage de code, je comprendrais mieux par la suite  :;): 

Merci encore d'avoir propos ces solutions

----------

