Bonjour à tous,
je travaille actuellement sur un programme vba sous excel 2016.

Je souhaite dans une feuille intitulée "LASER" modifier les cellules de la colonne K intitulée "délai" (les cellules sont en format date : "dd/mm/aaaa") en fonction de la colonne R.

Par exemple :

  • Si R2 = "OP_DECOUPE_INOX", enlever 2 jours à la date de K2.
  • Si R2 = "OP_DECOUPE_NOIR", enlever 6 jours à la date de K2.
  • Si R2 = "DESSIN", ne rien faire.


Après des recherches et plusieurs essais, j'ai essayé ce code (je sens que je suis pas loin mais c'est pas encore ça ).

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
 
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("K:R")
 
    If cell.Value = "OP_DECOUPE_INOX" Then
        cell.Cells(1, -6).Value = DateAdd("d", -2, cell)
 
    ElseIf cell.Value = "OP_DECOUPE_NOIR" Then
        cell.Cells(1, -6).Value = DateAdd("d", -6, cell)
 
    End If 
 
Next cell
 
End Sub
Merci pour votre aide.

PS: Si la demande ne vous semble pas clair, n'hésitez pas à me le dire.