bonjour Famu
Quelques explications : En VBA, les cellules s'appelle range et les feuilles sheets, lorsque tu veux indiquer à la macro une cellule, tu utilises la synthaxe :
Sheets('nomdelafeuille').range('adressedelacellule') ainsi en reprenant l'exemple de la pièce jointe :
La cellule B1 de la feuille Archive =
Sheets('archive').range('B1')
Si maintenant dans cette cellule tu veux copier la cellule B1 de la feuille saisie :
Sheets('archive').range('B1')=sheets('saisie').range('B1')
Comme tu ne sais pas le numéro de la derniere ligne utilisable dans la feuille archive, on utilise une variable :
derligne = sheets('archive').Range('a65536').End(xlUp).Row + 1
dans derligne est stockée le numéro de la derniere ligne, donc :
sheets('archive').range('B'&derligne)=sheets('saisie').range('B1')
La macro à placer dans le module 1 de la feuille, pourrait ressembler à ceci :
Public Sub archivage()
Dim derligne As Integer
derligne = Sheets('archive').Range('a65536').End(xlUp).Row + 1
Sheets('archive').Range('a' & derligne) = Sheets('saisie').Range('B1')
Sheets('archive').Range('B' & derligne) = Sheets('saisie').Range('B2')
Sheets('archive').Range('C' & derligne) = Sheets('saisie').Range('B3')
Sheets('archive').Range('D' & derligne) = Sheets('saisie').Range('B4')
End Sub
En espérant avoir été didactique.