Problème dans ce code simpliste

je cherche a extraire les données des colonnes N°2 et N°3.

La première partie fonctionne sans aucun problème.
La seconde partie de génère qu'un seul fichier , hors elle est basée sur le même processus algorithmique.
Les deux colonnes ont exactement le même nombre de ligne contenant de données.
L'erreur est probablement grossière , trop pour que puisse la voir
Donc si vous avez une idée de correction je suis preneur

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
import xlrd


if __name__ == '__main__':
# ouverture du fichier Excel 
    wb = xlrd.open_workbook('XmlAllerRetour.xlsx')
    
    lignedb = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'
    lignedb = lignedb + '\n' +'<soapenv:Body>'
    lignefn = '\n' +'</soapenv:Body>'
    lignefn = lignefn + '\n' + '</soapenv:Envelope>'
    
 
# renvoie les noms des feuilles du fichier sous forme de liste.
    liste_feuille = wb.sheet_names() 
 
    feuille  = wb.sheet_by_index(0) # feuileN°1
    liste_feuille = feuille.col(1) # contenu de la colonne N°2 type cell
    nb_ligne = feuille.nrows  # le nombre de lignes  
    numcas = 0
    for lesdata in liste_feuille:
        nomfic ='NUMCAS_'+ str(numcas) + '.xml'
        numcas =numcas+1
        # Ouverture du fichier destination
        if lesdata.value !=  'VIDE':
            destination = open(nomfic, "w")
            ligneecrire =  lignedb + lesdata.value + lignefn
            destination.write(ligneecrire )
        # Fermeture du fichier destination
            destination.close()
            
    liste_feuille_r = feuille.col(2)
    numcas = 0
    for lesdata in liste_feuille_r:
        nomficRT ='NUMCAS_'+ str(numcas) + 'Retour.xml'
          # Ouverture du fichier destination
        des2 = open(nomficRT, "w")
        des2.write(lesdata.value)
           # Fermeture du fichier destination
        des2.close()