Private Sub Workbook_Open()
Dim Ind
Dim Lg As Long
Dim I As Integer
Dim Cl As Integer
Ind = Array("AJ1", "AL1", "AN1", "AP1")
Lg = 2
Cl = 2
If Day(Now()) = 27 Then
With Sheets("Alerte de fuite")
For I = 0 To UBound(Dep)
Range(Dep(I)).Copy
.Cells(Lg, Cl + I).PasteSpecial Paste:=xlPasteValues
Next I
End With
Application.CutCopyMode = False
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question' Changer ici le numéro de jour
' Si la date du jour est supérieur au 27 et que la dernière copie remonte à plus de 20 jours
If Day(Now()) > 27 And Worksheets("données ADF ,reparation").Range("IV1").End(xlUp).Offset(0, 0) > Day(Now()) - 20 Then
Dim Plage_A_Copier As Range, Plage_Destination As Range
'c'est ici qu'il faut change la plage à copier
Set Plage_A_Copier = Worksheets("Alerte de fuite").Range("AJ1", "AL1", "AN1", "AP1, AS1")
'Redimensionne la plage Destination à la taille de la Plage_A_Copier
Set Plage_Destination = Worksheets("données ADF ,reparation").Range("b2" & [b5].End(xlUp).Row + 1)
With Plage_A_Copier
Set Plage_Destination = Plage_Destination.Resize(.Rows.Count, .Columns.Count)
End With
'"Copie" les valeurs dans la Plage_Destination
Plage_Destination.value = Plage_A_Copier.value
End If
Sub autocollectADF()
' Changer ici le numéro de jour
Dim Plage_A_Copier As Range, Plage_Destination As Range
Dim Date_derniere_copie As Integer
Dim Periode_ecart As Integer
Date_derniere_copie = Sheets("données ADF,reparation").Range("IV1").End(xlUp)
Periode_ecart = 20
' Si la date du jour est supérieur au 27 et que la dernière copie remonte à plus de 20 jours
If Day(Now()) > 26 And Date_derniere_copie > Now - Periode_ecart Then
'c'est ici qu'il faut changer la plage à copier
Set Plage_A_Copier = Worksheets("Alerte de fuite").Range("AI1", "AK1", "AM1", "AO1, AQ1")
'Redimensionne la plage Destination à la taille de la Plage_A_Copier
Set Plage_Destination = Worksheets("données ADF ,reparation").Range("b1" & [b5].End(xlUp).Row + 1)
With Plage_A_Copier
Set Plage_Destination = Plage_Destination.Resize(.Rows.Count, .Columns.Count)
End With
'"Copie" les valeurs dans la Plage_Destination
Plage_Destination.value = Plage_A_Copier.value
End If
End Sub