Bonjour,
N'oubliez pas le "s" à ClearContentS.
Pour connaitre le nom de votre feuille si vous ne vous y retrouvez pas, dans l'explorateur VBA :
Vous retrouvez le nom des feuilles, celui visible dans l'interface Excel est entre parenthèses, c'est celui à indiquer dans .Worksheets("nomdefeuille"). Vous pouvez aussi utiliser les indexes, qui eux ont l'avantage de ne pas changer si vous renommez les feuilles: .Worksheets(1) (sans " !!!). Un exemple avec le screen ci-joint :
ThisWorkbook.Worksheets(2)
et
ThisWorkbook.Worksheets("Interface")
sont équivalents.
Si j'ai bien compris, dans votre macro initiale vous utilisez la case sélectionnée comme indicateur de dernière ligne. Pour reprendre sur cette idée le code ci-dessous permet d'effacer les cellules situées entre A2:H2 et la ligne de la case sélectionnée, sur la feuille 3 (feuille à vérifier).
With ThisWorkbook.Worksheets(3)
Range(.Range("A2:H2"), .Cells(Selection.Row, 1)).ClearContents
End With
Et ce code permet de la faire fonctionner sur n'importe quelle feuille du classeur, en utilisant la feuille ou se trouve la selection actuelle.
With Selection
Range(.Parent.Range("A2:H2"), .Parent.Cells(.Row, 1)).ClearContents
End With
Enfin, afin de tester le code, je vous encourage fortement à utiliser .Select au lieu de .ClearContents afin de voir quelles cellules sont affectées et de ne pas perdre vos données.