Bonjour à tous,

Voici mon pb :

- Dans une feuille excel, j'ai une plage de données de 300 lignes ;
- Dans ma 9ème colonne, j'ai des formules qui calculent une donnée à partir de ce qui est rempli sur la colonne précédente ;
- Dans une macro, je cherche à détecter la dernière ligne "remplie" en me basant sur cette 9ème colonne.

Je fais donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row
- Résultat, il me ramenait systématiquement la ligne n°300, alors que la dernière ligne qui contenait des valeurs en colonne n°9 était la ligne n°10 ;
- Normal, puisque Excel estime alors qu'une cellule contenant une formule n'est pas vide ;
- Pour résoudre ce souci, je copie/colle en valeurs l'intégralité de ma plage de cellules (ainsi, les cellules contenant des formules mais pas de données deviennent vides) ;
- Lorsque je relance la macro, ça me donne exactement le même résultat.

Conclusion : même copiées/collées en valeurs, les cellules qui contenaient une formule avant cette manipulation ne sont toujours pas considérées comme étant vides!

J'ai essayé en faisant un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Do Until ActiveCell.Value <> ""
ActiveCell.Offset(-1,0)
Loop
Ca ne change rien. J'ai aussi essayé avec "Not(IsNull(ActiveCell.Value))" et c'est pareil...

Merci pour vos réponses.