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 :
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").
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
J'ai pensé à ceci dans un premier temps :
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.
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
Qu'en pensez-vous ? Auriez-vous fait autrement ?
Partager