Sub mesures_en_retard()
Application.ScreenUpdating = False
Sheets("MESURES EN RETARD").Select
'Je met en memoire la Sheet créée, comme ca je peux l'appeler facilement ensuite :
Set SheetSauvegarde = ThisWorkbook.ActiveSheet
'Ensuite je choisi ou je vais écrire la colonne total. Ici ce sera la cell A1 :
SauvegardeRow = 2
SauvegardeColumn = 1
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Sheets("game").Select
Range("A1").Select
Cells.Find(What:="Date Fin Prévue", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
datefinprévue = ActiveCell.Column
'Maintenant qu'on a la ligne de 'Date de fin prévue', on cherche dans cette ligne la colonne 'date de fin effective'
ActiveCell.EntireRow.Select
Set MyRg = Selection
'On balaye toutes les cells de la ligne et on regarde si la date est inférieure à la date d'aujourd'hui
For Each c In MyRg:
'la on cherche 'date de fin effective
If c.Value = "Date Fin Effective" Then
'Si on la trouve, on note son numero dans la variable datefineffective et on quit la boucle
datefineffective = c.Column
Exit For
End If
Next c
Columns(datefinprévue).Select
'ActiveCell.EntireColumn.Select
LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
Set MyRg = Range(Cells(2, datefinprévue), Cells(LastRow, datefinprévue))
For Each c In MyRg:
'MsgBox c.Value
toto = DateDiff("d", c.Value, Date)
If DateDiff("d", c.Value, Date) > 0 Then
'MsgBox Cells(c.Row, datefineffective).Value
If Cells(c.Row, datefineffective).Value = "" Then
c.EntireRow.Copy (SheetSauvegarde.Cells(SauvegardeRow, SauvegardeColumn))
SauvegardeRow = SauvegardeRow + 1
End If
End If
'La ligne suivante permet de sortir de la boucle For. Car sinon il va faire TOUTES les cells de la colonne B et ca va etre long
'Pour en sortir, il regarde a chaque ligne si la valeur de la cellule dans la colonne ColumnCellCC (ici la colonne 1) est = à "Total" si c'est le cas il sort de la boucle
If Cells(c.Row, datefinprévue).Value = "" Then Exit For
Next c