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 :
- 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 ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row
- 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 :
Ca ne change rien. J'ai aussi essayé avec "Not(IsNull(ActiveCell.Value))" et c'est pareil...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Do Until ActiveCell.Value <> "" ActiveCell.Offset(-1,0) Loop
Merci pour vos réponses.
Partager