Bonjour à tous,

je viens chercher un peu d'aide sur le forum. J'ai créé un code le mois dernier me permettant de modifier une date d'une cellule en fonction de la valeur d'une autre cellule.

Voici le code :

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
 Public Sub delai(nomOp As String)
 
Dim cell As Range
 
Application.ScreenUpdating = False
 
For Each cell In Sheets("LASER").Range("J:R")
 
    If cell.Value = "OP_DECOUPE_INOX" Then
        cell.Offset(0, -7).Value = DateAdd("w", -2, cell.Offset(0, -7).Value)
 
    ElseIf cell.Value = "OP_DECOUPE_NOIR" Then
        cell.Offset(0, -7).Value = DateAdd("w", -6, cell.Offset(0, -7).Value)
 
    End If
 
Next cell
 
End Sub
Ce code fonctionne correctement mais je souhaite également modifier la date correspondant à "OP_DESSIN" en fonction de l'opération qui suit ("OP_DECOUPE_INOX" ou "OP_DECOUPE_NOIR").

J'ai pensé à ceci dans un premier temps :

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
 Public Sub delai(nomOp As String)
 
Dim finpage As Long
Dim cell As Range
 
Application.ScreenUpdating = False
 
finpage = Sheets("LASER").Cells(Rows.Count, 2).End(xlUp).Row
 
For Each cell In Sheets("LASER").Range("J:R")
 
    If cell.Value = "OP_DECOUPE_INOX" Then
        cell.Offset(0, -7).Value = DateAdd("w", -2, cell.Offset(0, -7).Value)
 
    ElseIf cell.Value = "OP_DECOUPE_NOIR" Then
        cell.Offset(0, -7).Value = DateAdd("w", -6, cell.Offset(0, -7).Value)
 
    End If
 
    If cell.Value = "OP_DECOUPE_INOX" And cell.Offset(1, 0).Value = "OP_DESSIN" Then
        cell.Offset(0, -7).Value = DateAdd("w", -2, cell.Offset(0, -7).Value)
 
    If cell.Value = "OP_DECOUPE_NOIR" And cell.Offset(1, 0).Value = "OP_DESSIN" Then
        cell.Offset(0, -7).Value = DateAdd("w", -6, cell.Offset(0, -7).Value)
 
    End If
 
End If
 
Next cell
 
End Sub
Excel me mets : "Erreur 1004 : Erreur définie par l'application ou par l'objet" pour la ligne n°20 mais je ne comprends pas pourquoi.

Qu'en pensez-vous ? Auriez-vous fait autrement ?