J'ai réalisé ce code pour pouvoir copier toutes les lignes de feuilles 1 à n et les coller vers une feuille qui sert d'archive. Toutes les lignes copiées sont supprimées pour libérer la feuille. Utiles lors d'un accés au fichier excel pour consulter les feuilles. La macro se lance à l'ouverture
Source / Exemple :
Public Sub Autoexec()
'calcul du numéro de la premiere ligne vide
k = 1
Do While Worksheets(10).Cells(k, 1) <> ""
k = k + 1
Loop
For i = 2 To 9
J = 2
Do While Worksheets(i).Cells(J, 1) <> ""
If Worksheets(i).Cells(J, 2) < DateAdd("m", -1, Date) Then
Sheets(i).Select 'selection de la feuille
Range("A" & J & ":F" & J).Select 'selection des cellules
Selection.Copy 'copier la selection
Sheets(10).Select 'Feuille archive
Range("B" & k).Select 'selectionner la cellule de destination
ActiveSheet.Paste 'coller
Cells(k, 1) = Sheets(i).Name 'placer le nom de la feuille
k = k + 1
Worksheets(i).Rows(J).Delete
End If
J = J + 1
Loop
Next
End Sub
Conclusion :
un grand merci à ShadowWisp pour ces conseils