Bonjour,

Dans une feuille de calcul excel, sur une colonne j'ai des dates qui sont des dates de rappel de vaccinations à ne pas dépasser.Ces dates se mettent en rouge à l'ouverture de la macro auto open par comparaison avec la date système (cellule E3). Sinon elles restent normales.

Dans la seconde partie de la macro, si on entre la date de vaccination (colonne à côté des dates de rappel), je voudrais effacer automatiquement la cellule correspondant à la date de rappel pour n'avoir que les dates de rappel futures d'affichées.

Sur ma macro ,ci-dessous, elle fonctionne une fois pour effacer la cellule date rappel vaccination et m'envoie un message d'erreur sur la ligne:
ActiveCell.Offset(0, -1).Select du type erreur d'exécution 1004 erreur définie par l'application et par l'objet.Si je réinitialise elle refonctionne et me renvoit l'erreur
D'où vient l'erreur?
D'autre part dans la première partie de la macro (comparaison des dates) si on est supérieure à la date système le texte s'affiche en rouge mais si la date était par exemple de l'année 2004 elle est considérée comme inférieure et pourtant la date de rappel serait dépassée. Comment faire dans ce cas pour comparer les dates?
Merci à ceux qui auront la patience de tout lire
Voici la macro
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
25
26
27
28
29
30
31
32
 
Sub auto_Open()
 
' Macro1 Macro
' Macro enregistrée le 18/01/2005 par jp
  Dim plage As Range
  Dim plage1 As Range
 
  Set plage = Worksheets("feuil1").Range("D6:D15")
  For Each cell In plage
  If cell.Value > Range("E3") Then
  cell.Font.ColorIndex = 3
'la date système est en E3 les dates supérieures passent en rouge
  Else
  cell.Font.ColorIndex = 0
'les dates inférieures ne changent pas de couleur
  End If
  Next cell
 
  Set plage1 = Worksheets("feuil1").Range("E6:E15")
  For Each cell In plage1
  If IsDate(cell) Then
'si les cellules plage "E6:E15" sont des dates
  ActiveCell.Offset(0, -1).Select
'selectionner la cellule tout de suite à gauche et la supprimer
 
  Selection.ClearContents
 
  End If
  Next cell
 
End Sub
[Balises de code rajoutées par Thierry AIM, Merci d'y penser la prochaine fois]