Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet (janvier)
Dim li As Integer 'déclare la variable li
Dim dest As Range 'déclare la variable dest
Dim dest2 As Range 'déclare la variable dest2
'si le changement n'a pas lieu dans une cellule éditée de la colonne AE, sort de la procédure
If Application.Intersect(Target, Range('AE4:AE' & Range('AE65536').End(xlUp).Row)) Is Nothing Then Exit Sub
If Target.Value = 'ý' Then 'condition 1 : si la case est cochée
li = Target.Row 'définit la variable li
'définit la variable dest
With Sheets('Signature E5') 'prend en compte l'onglet 'Extract Signature E5'
If .Range('B4').Value = '' Then 'condition 2 : si A1 est vide
Set dest = .Range('B4') 'définit la variable dest
Else
Set dest = .Range('B65536').End(xlUp).Offset(1, 0) 'définit la variable dest
End If 'fin de la condition 2
End With 'fin de la prise en comprte de l'onglet 'Extract Signature E5'
'copie la ligne de la case cochée de l'onglet 'Janvier' et la colle dans l'onglet 'Extract Signature E5'
'Range(Cells(li, 2), Cells(li, 31)).Copy Destination:=dest
Range(Cells(li, 2), Cells(li, 26)).Copy Destination:=dest
With Sheets('Signature E5')
If .Range('B4').Value = '' Then 'condition 2 : si A1 est vide
Set dest2 = .Range('AA4') 'définit la variable dest
Else
Set dest2 = .Range('AA65536').End(xlUp).Offset(1, 0) 'définit la variable dest
End If 'fin de la condition 2
End With
Range(Cells(li, 28), Cells(li, 28)).Copy Destination:=dest2
End If 'fin de la condition 1
End Sub