Bonjour,

Dans mon interface j'ai 2 combobox (liste déroulante) qui récupère des données à partir d'un fichier CSV.
La 1e combobox récupère la marque des voitures et à partir du choix fait par l'utilisateur, la 2e combobox récupère les modèles de voiture correspondant à la marque.

Mon souci est que pour certaines marques, il n'affiche pas les modèles.

Voici mon code :
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
 
    def choixMarque(self):
        liste1=[] # liste contenant les marques de dumper
        liste2=[] # liste intermédiaire
 
        # Ouvrir le fichier csv contenant les infos sur les dumpers
        with open(r"D:/Moi/Projet/Voitures.csv", newline='') as f:
            reader = csv.reader(f, delimiter = ';')
            for row in reader:
                liste1.append(row[0]) # récupérer les marques dans une liste
 
            for d in liste1:
                if not d in liste2: 
                    liste2.append(d)
                    print(type(d))
                    ui.marque.addItem(d) # rajouter la marque dans la combobox
 
 
            ui.marque.currentIndexChanged.connect(p.modele) # remplir la liste des modèles en fonction de la marque
 
 
    def modele(self):
 
        ui.modele.clear() # vider la combobox pour éviter les doublons
 
        indexMarque = ui.dumperMarque.currentIndex()
        nomMarque = ui.marque.currentData(indexMarque) # récup le nom de la marque choisie
 
        with open(r"D:/Moi/Projet/Voitures.csv", newline='') as f:
            reader = csv.reader(f, delimiter = ';')
            for row in reader:
                if row[0] == nomMarque:
                     ui.modele.addItem(row[1]) # mettre modele dans combobox
Pour certains noms de marques, il me dit que c'est un 'None Type' alors que pour celles qui marchent c'est du str
Je pense que le problème vient de là mais lorsque je récupère les noms de marque dans la 1e fonction elles sont toutes au format str, ce n'est que dans la 2e fonction où ça change..