[Excel 2007] Problème pour trouver le nombre de ligne d'une feuille

Problème pour trouver le nombre de ligne d'une feuille [Excel 2007] - VB/VBA/VBS - Programmation

Marsh Posté le 15-10-2014 à 17:37:44    

Plop,
 
J'ai développé il y a quelque temps une macro pour importer des fichiers CSV. Le format des fichiers ayant changé, je suis en cours d'adaptation de la macro mais j'ai une erreur qui remonte sur une ligne qui fonctionnait bien avant.
 
Pour faire l'import, j'ai besoin de connaitre le nombre de ligne dans mon fichier CSV. Pour ca, j'utilisais jusqu'à présent le code suivant :

Code :
  1. ' Set active wb
  2. Set RecordWb = ActiveWorkbook
  3.            
  4. ' Get the table length
  5. TableLen = RecordWb.Sheets(1).Range("A:A" ).End(xlDown).Row


Sur ma nouvelle macro, cette ligne me donne une erreur : "L'indice n'appartient pas à la sélection".
J'ai remplacé chaque méthode par .Select pour voir quel est la partie en défaut et ca passe jusqu'au .Row (en gros si je fais TableLen = RecordWb.Sheets(1).Range("A:A" ).End(xlDown).Select ==> ca me sélectionne bien la dernière case de la colonne A).
 
La question est : pourquoi est-ce que ca foire ?


Message édité par kronoob le 15-10-2014 à 17:43:19

---------------
Achat - Ventes/Feedback
Reply

Marsh Posté le 15-10-2014 à 17:37:44   

Reply

Marsh Posté le 15-10-2014 à 21:35:23    

 
           Exemple dans ce sujet
 

Reply

Marsh Posté le 15-10-2014 à 22:09:19    

Hum, en fait je demande pas comment trouver le nombre de lignes, pour ca il y a Google qui fourni de bon exemples (la plus part donnant d'ailleurs la ligne de code incriminée). :o
 
Je demande qu'est-ce qui pourrait faire que ca marche dans un cas et pas dans l'autre. Ou est la boulette quoi. :??:


---------------
Achat - Ventes/Feedback
Reply

Marsh Posté le 16-10-2014 à 09:11:00    

 
           Déjà en consultant l'aide de cette propriété, vaudrait mieux partir d'une cellule au lieu d'une colonne …
 
           Ensuite s'il y a un trou dans la colonne et la dernière saisie de la colonne est désirée
           alors ton code renverra la cellule avant le trou et non pas la dernière saisie, d'où mon lien …
 
           Pour une plage de cellules contigües (sans trou) voir aussi du côté de la propriété CurrentRegion
 
           Sinon pour trouver ton erreur, suivre le code en mode pas à pas (touche F8)
           et contrôler le contenu des variables dans la fenêtre des Variables locales
 

Reply

Marsh Posté le 16-10-2014 à 09:54:05    

Ma macro sert à traiter un enregistrement de données. Donc il ne peut pas y avoir de trou dans la colonne et il ne peut pas y avoir de colonne plus longue que d'autre.
 
J'ai exécuté plusieurs fois le code en pas à pas mais j'avoue ne pas avoir regardé du coté des variables locales. Peut être que a me donnera plus d'info le problème.
 
Merci pour ta réponse. :jap:


---------------
Achat - Ventes/Feedback
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed