Il faut toujours declarer ses variables
Les lignes sont des entiers donc integer. Cependant integer ne peut pas aller au dela de 32000 a peu pres et les lignes peuvent aller jusqu'a 65000 donc Long est mieux si tu as beaucoup de ligne (pas ton cas ici mais ca peut te servir pour plus tard)
Tu n'as pas "besoin" de deux variables, tu peux faire directement
PremiereLigneVide = Sheets(FL1.Range("nomprojet").Value).Range("A1").SpecialCells(xlCellTypeLastCell).Row+ 1
Et l'utiliser comme ca:
FL3.Range(FL2.Cells(2, i).Value).Copy Destination:=Sheets(FL1.Range("nomprojet").Value).Range("A" & PremiereLigneVide)
ou bien directement comme ca:
FL3.Range(FL2.Cells(2, i).Value).Copy Destination:=Sheets(FL1.Range("nomprojet").Value).Range("A" & Sheets(FL1.Range("nomprojet").Value).Range("A1").SpecialCells(xlCellTypeLastCell).Row+ 1) 'illisible isn't it ?
Vu la tournure que prend ton code je te conseillerai d'utiliser plus de variables pour le rendre plus lisible (ca mange pas de pain si tu les declares pas en variant quand un integer suffit):
1 2
| ProjetCourant = FL1.Range("nomprojet").Value
PremiereLigneVide = Sheets(ProjetCourant).Range("A1").SpecialCells(xlCellTypeLastCell).Row+ 1 |
Partager