Bonjour à tous !
Dans mon code, j'ai plusieurs problèmes, je n'arrive pas à faire finir l'exécution de la macro lorsque celle ci arrive à une cellule vide et cela me copie tout sans exception même si ce que je demande est faux.
Comment puis je faire ?
Merci de votre aide !
Cela ne me met pas de rapport d'erreur donc rien à mettre en surbrillance...
Dans mon code, j'ai plusieurs problèmes, je n'arrive pas à faire finir l'exécution de la macro lorsque celle ci arrive à une cellule vide et cela me copie tout sans exception même si ce que je demande est faux.
Comment puis je faire ?
Merci de votre aide !
Cela ne me met pas de rapport d'erreur donc rien à mettre en surbrillance...
Sub mesures_en_retard()
Sheets("game").Select
Range("A1").Select
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 = 1
SauvegardeColumn = 1
Sheets("game").Select
Retard = 0
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 'total'
ActiveCell.EntireRow.Select
Set MyRg = Selection
'On balaye toutes les cells de la ligne et on regarde si elles contiennent "Total"
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
Set MyRg = Selection
'On balaye toutes les cells de la colonne et on regarde ce qu'elle contiennent
For Each c In MyRg:
If c.Value < Now Then
c.EntireRow.Copy (SheetSauvegarde.Cells(SauvegardeRow, SauvegardeColumn))
SauvegardeRow = SauvegardeRow + 1
End If
Next c
End Sub
Dernière édition: