Bonjour,
Toujours dans ma creation d'un fichier de feuille presence personnel automatisé, je souhaite copier un tableau récapitulatif des données générales, dans chaque nous nouveaux onglets créés pour chaque membre.
La macro ci-dessous créé bien les onglets avec lignes associées à chaque membre, pas le tableau à la suite (derniere ligne) des données, pour en retirer les valeurs mises à jours pour chaque membre.
Sub CreateSheets1()
Dim i As Integer
Dim ws As Worksheet
Dim newSheet As Worksheet
Set ws = ActiveSheet
For i = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
Set newSheet = Sheets(ws.Cells(i, 1).Value)
On Error GoTo 0
If newSheet Is Nothing Then
Set newSheet = Sheets.Add(After:=Sheets(Sheets.Count))
newSheet.Name = ws.Cells(i, 1).Value
End If
ws.Range("A1").AutoFilter Field:=1, Criteria1:=ws.Cells(i, 1).Value
ws.Range("A1").CurrentRegion.Copy Destination:=newSheet.Range("A1")
ws.AutoFilterMode = False
' Effacer la variable objet NewSheet
Set newSheet = Nothing
Next i
Set ws = ActiveSheet
For i = 2 To ws.Cells(Rows.Count, 1).End(xlUp).Row
On Error Resume Next
Set newSheet = Sheets(ws.Cells(i, 1).Value)
On Error GoTo 0
If newSheet Is Nothing Then
Set newSheet = Sheets.Add(After:=Sheets(Sheets.Count))
newSheet.Name = ws.Cells(i, 1).Value
End If
Dim lastRow As Long
lastRow = newSheet.Cells(Rows.Count, 1).End(xlUp).Row
ws.Range("A135:H143").Copy Destination:=newSheet.Cells(lastRow + 1, 1)
ws.AutoFilterMode = False
' Effacer la variable objet NewSheet
Set newSheet = Nothing
Next i
End Sub
Quelqu'un saura t il pourquoi?
Merci.