C'est pour mettre l'array (listMontage) sur la feuille ("montage").
Je ne sais pas pourquoi ça ne fonctionne pas depuis une autre feuille.
Merci d'avance pour vos réponse.
Range et Cells se rapporte toujours à la feuille active si on ne leur indique pas explicitement la feuille de 'travail'
dans votre code le premier Range est bien référencé à la feuille montage, mais tous le reste se rapporte à la feuille active.
il aurait fallu en gardant votre code, en utilisant With Sheets("montage") pour simplifier l'écriture:
Code:
With Sheets("montage")
.Range(.Cells(.Cells(.Rows.Count, 8).End(xlUp).Offset(1).Row, 8), .Cells(.Cells(.Rows.Count, 8).End(xlUp).Offset(1).Row + UBound(listMontage), 8)).Value = listMontage
End With
Attention à ne pas oublier le . (point) devant tout ce qui est lié à la feuille définie dans With Worksheets(...
on aurait pu simplifier en utilisant Resize :
Code:
With Sheets("montage")
.Range("H" & .Range("H" & .Rows.Count).End(xlUp).Row + 1).Resize(UBound(listMontage), 1) = listMontage
End With