Bonjour,
1) Met le code entre balise, c'est plus lisible
2) Val_Data = ActiveCell, en plus de ne pas retourner une valeur mais un Range. Et surtout, on a aucune idée de quelle est la cellule active
3) Evite de nommer une variable cells, c'est aussi le nom d'un objet VBA
4) Range(ActiveCell.Offset(1000, 0)) ne retourne pas une plage, mais une seule cellule. Ce que tu veux est Range(cellulededepart, celluledefin)
5) ON UTILISE PAS .SELECT DEDJEU
(Parce que là, un .Select suivi d'un .Selection, dans un With Selection, euh )
Je comprends pas tout à fait ce que tu veux faire, mais déja corrige ça, ça permettra d'y voir plus clair.
Bref, ton code compile vraiment ?