Bonjour,

La question de la dernière ligne a été déjà bien fouillée
http://www.developpez.net/forums/d45...ees-d-feuille/

et pourtant ....

Je suis confronté à rechercher la dernière ligne dans une feuille où je ne sais pas combien de colonnes sont renseignées
les colonnes comportent des vides.
la dernière valeur peut figurer dans n'uimporte quelle colonne.

J'ai fait des tests, mais ceux-ci ne renvoie pas pas les même valeurs.

Ma dernière ligne "réelle" en supposant qu'il n'y a rien d'écrit en blanc où en caractère non visible est la ligne 83
la dernière info colonne A est en 81 mais cellules fusionnées

Donc je cherche. Ce code M'a renvoyé une ligne où je ne voyait pas de valeur c'est à dire 87 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
'Dernière ligne renseignée de la feuille de calculs
DerLig = Worksheets("Feuil2").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Donc je me suis dit je vais trouver la colone où il est sensé se trouver quelque chose mais là il me renvoie 256 ! donc la fin de ma feuille
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dernierecol = Range("A87").End(xlToRight).Column
Je me suis dit si ma dernière valeur est en colonne A c'est normal Me renvoie bien 81 (ça j'ai l'haibitude de l'utiliser.)
Donc je vérifie la dernière ligne en colonne A
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DerniereLigne = Range("A100").End(xlUp).Row
La séquence suivante me renvoie aussi 87
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Dim Ligne As Long
Ligne = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
Je précise que je n'ai pas supprimé de lignes et que j'ai sauvegardé mon fichier avant de lancer la recherche.

En désespoir de cause j'ai fait une boucle, mais c'est pas très pro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
ma_der_ligne = 0
For i = 1 To 256
cur_ligne = Cells(100, i).End(xlUp).Row
If cur_ligne > ma_der_ligne Then
ma_der_ligne = cur_ligne
End If
Next
MsgBox ma_der_ligne
End Sub
En fait dans les tutos on trouve pleins d'exmples mais ils ne sont pas universels.

donc existe-t-il UNE et UNE seule fonction qui marche à tous les coup ?

Denis