Salut mehdiissam et le forum
Alors comment tu sais que c'est ce code ?
Un peu succinct ton sujet ! Juste un titre qui nous informe, qu'à priori c'est une erreur de compilation, et un code qu'on doit décrypter, sans aucune idée du but... Vu la précision donnée, que des généralités.
N'ayant qu'Excel 2003, je ne peux être sûr des possibilités de 2010, mais la bonne instruction serait :
Workbooks("PSAP 19").Sheets("Survenance Par Année").Activate
Utiliser
For j = 4 To Range("A65536").End(xlUp).Row
Alors qu'on a un Excel d'une version supérieure, ne me semble pas être une bonne chose :
For j = 4 To cells(rows.count,"A").End(xlUp).Row
me semble plus adapté.
Dim Cat As Integer
Suite à une autre discussion sur un forum, il vaudrait mieux déclarer en Long => Excel ne traite que des Long, et doit reconvertir les valeurs inférieures pour les traiter.
Si tu as une erreur de compilation, Excel doit t'indiquer la ligne en faute : pourquoi ne pas le dire ?
A+