Bonjour,
Il m'arrive un truc très étrange.
Par programmation, je veux remplir certaines cellules d'un fichier xls existant.
Pour cela, j'utilise un système de balises genre #Balise#.
Quand ma procédure détecte la balise, elle la remplace par une valeur, tout simple.
J'ouvre mon fichier Excel, je parcours, les feuilles, je détecte les balises... jusque là, ça fonctionne.
Mais au moment de remplacer le contenu de la cellule contenant la balise détectée, ça ne marche plus.
L'insertion de donnée se fait bien mais pas dans la bonne cellule.
Le décalage est sur les lignes et ça peut aller de 1 à 3 à priori.
mon code :
En fait, au moment où la balise est détectée, le num_ligne n'est pas bon. Il est décalé. Exemple : Il trouve une balise qui est en ligne 3 alors que le num_ligne est à 2 !?
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 POUR num_ligne = 1 _À_ nbr_Lignes POUR num_colonne = 1 _À_ nbr_Colonnes contenu = xlsDonnée(xls_Source,num_ligne,num_colonne) SI contenu <> "" _ET_ Contient(contenu,"#") ALORS HLitRecherchePremier(BALise,BAL_Lib,Remplace(contenu,"#","")) SI HTrouve(BALise) ALORS SELON BALise.BAL_Type CAS 0 HLitRecherchePremier(RUBriques,IDRUBriques,BALise.BAL_Rubrique) SI HTrouve(RUBriques) = Vrai ALORS xls_Source..Cellule[num_ligne,num_colonne] = {RUBriques.RUB_Source + "." + RUBriques.RUB_Rubrique,indRubrique} FIN FIN FIN FIN FIN FIN
Pourtant, ma fonction xlsdonnée reprend bien le num ligne
Et le décalage n'est pas toujours de 1, il peut être de 2 ou 3
Suis totalement perdu.
Merci de votre aide
Partager