Bonsoir,
pour répondre à la première question, regardez ceci :
Dim lastrow
lasrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
lastrow = lastrow + 1
C'est une partie de votre code, hors il faut savoir que lastrow est différent de lasrow...
lastrow (=0) = lastrow + 1 = 1 et toujours 1 car la recherche de la dernière ligne ne marche pas avec lastrow mais avec lasrow
Afin d'éviter des erreurs de ce type n'hésitez pas à mettre "Option Explicit" en tête de vos pages de code, ainsi il vous sera impossible de faire appel à des variables non définie, et dans ce cas précis VBA vous indiquerait que lasrow n'est pas définie car vous aviez définis lastrow...
@ bientôt
LouReeD