Erreur à la recherche de la dernière ligne

Bonjour,

Pour trouver la dernière ligne non vide d'un classeur, j'utilise régulièrement ce code :

DernLigne=MonClasseur.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row

Mais appliqué au code suivant, il y a erreur 1004 "(Erreur définie par l'application ou par l'objet") à l'exécution de la dernière ligne de code.

Public TNQ As Workbook
Public Fiche As Workbook

Sub test()

Set TNQ = Workbooks.Open("C:\blabla1")
Set Fiche = Workbooks.Open("C:\blabla2")

DernLigne1 = Fiche.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
DernLigne2 = TNQ.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row

End sub

C'est bizarre parce que quand "TNQ" est "On Top", j'ai pas de souci.

J'ai pris le parti de ne pas utiliser les méthodes Activate et Select. Du coup je sèche...

Merci d'avance pour votre aide !

Bonjour,

Set TNQ = Workbooks.Open("C:\blabla1")
Set Fiche = Workbooks.Open("C:\blabla2")

je doute que tes fichiers ce nomment blabla1 et blabla2 ... donne nous au moins l'extension (les caractères après le point) ... il y as des chances que cela permette de donner une explication à ton problème...

Bien vu !

L'un est un xls l'autre un xlsx. C'est le xls qui pose souci.

Du coup j'ai repris mon xls et l'ai réenregistré en xlsx pour voir. Excel dit qu"il trouve du contenu illisible à l'ouverture.

Ca m'embête ça, c'est pas un fichier qui m'appartient...

en fait je suppose que ton blabla2 est ton xlsx .. du coup lorsque plus loin tu utilise Rows.count, il s'agit du nombre de ligne du fichier actif soit le blabla2 que tu ouvre en dernier ... mais ton blabla1 en xls n'as pas assez de lignes pour exécuter ta commande ...

précise le classeur concerné devant tes rows.count :

DernLigne=MonClasseur.Sheets(1).Range("A" & MonClasseur.Sheets(1).Rows.Count).End(xlUp).Row

Bravo et merci pierre.jy !

C'est exactement ça !

Rechercher des sujets similaires à "erreur recherche derniere ligne"