Bonjour,
Je reviens sur ce forum car j'y trouve souvent ma solution
Mon souci actuel est le suivant :
Dans un tableau de suivi de tâches, j'ai une colonne indiquant une échéance et une colonne juste à sa droite indiquant si la tâche est soldée ou non (OK / NOK). Jusqu'ici, tout va bien
Je souhaiterai à l'ouverture du classeur que toutes les tâches soient balayées et que celles non soldées et dont l'échéance est passée soient mises en évidence (couleur rouge en fond de cellule).
J'ai le code suivant dans la macro Auto_Open
A l’exécution l'erreur « '424' Objet requis » apparaît et pointe la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Application.ScreenUpdating = False Dim vCell As Object Dim EcheancePrevi As Date Dim sel As Variant 'sélection de la 1ère cellule où se trouve une échéance Sheets(1).Range("G4").Select 'sélection de toute la colonne 'Echeance' Range(Selection, Selection.End(xlDown)).Select For Each vCell In Selection EcheancePrevi = Format(vCell.Value, "dd/mm/yyyy") 'la ligne ci-dessous me sert à sélectionner l'adresse de toute la ligne sel = vCell.Offset(0, -7).Address & ":" & vCell.Offset(0, 2).Address '1ère condition de mon test : la date prévisionnelle est dépassée If EcheancePrevi < DateValue(Now) Then '2nde condition : la tâche n'est pas validée (le UCase est là pour éviter les pb de casse) If UCase(vCell.Offset(0, 1).Value) <> "OK" Then Range(sel).Interior.ColorIndex = 3 End If End If Next
Avez-vous une idée de mon erreur car j’ai beau prendre le code dans tous les sens mais je ne la trouve pas :/ ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sel = vCell.Offset(0, -7).Address & ":" & vCell.Offset(0, 2).Address
Partager