macro d'annulation

laduche81

XLDnaute Junior
Bonjour,

j'ai une macro qui vient changer la valeur d'une cellule en fonction de ce que l'utilisateur écris dans l'inputbox.
Par exemple quand on lui demande le numéro de rev et que la cellule A2 = 6, si il rep 3, la macro va venir chercher en IZ la ligne correspondant à la valeur 6 dans la plage A2:A500 (voir code plus bas).

Malheureusement, cette cellule contient la formule suivante :
=SI('Active WPs'!$D$31="Flex";MOIS.DECALER(IX6;parameters!$B$2);SI('Active WPs'!$D$31="OSW-Capacity";MOIS.DECALER(IX6;parameters!$B$3)))

Donc cette macro écris une date à la place de la formule, et si l'utilisateur souhaite plus tard pouvoir modifier cette date (l'avancer par exemple et la mettre en rev2, et bien rev3 n'aura plus de formule et n'agira plus.

Comment puis-je pallier à cette éventualité?

Merci par avance,

Cordialement,

Adrien.

Option Base 1
Option Explicit
Private Sub Bouton4_Clic()
Dim liste(), DerLig As Long, l As Long, rev As Variant, mdir As Variant
With Worksheets("Workpackages Database & PP")
DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
liste = .Range("A4:A500" & DerLig).Value
End With
rev = InputBox("Enter 1 for REV1, 2 for REV2, etc.", "REV Date Modification")
If rev = "" Or Not IsNumeric(rev) Then
MsgBox "Canceled, Please Enter a number"
Exit Sub
End If
If rev < 1 Or rev > 20 Then
MsgBox "wrong rev number"
Exit Sub
End If
rev = CInt(rev)
mdir = InputBox("SELECT THE DATE: (dd/mm/yy)", "REV x")
If Not IsDate(mdir) Then
MsgBox "Canceled"
Exit Sub
End If
For l = LBound(liste) To UBound(liste)
Select Case rev
Case 1
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("IV" & l + 1).Value = CDate(mdir)
Case 2
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("IX" & l + 1).Value = CDate(mdir)
Case 3
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("IZ" & l + 1).Value = CDate(mdir)
Case 4
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JB" & l + 1).Value = CDate(mdir)
Case 5
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JD" & l + 1).Value = CDate(mdir)
Case 6
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JF" & l + 1).Value = CDate(mdir)
Case 7
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JH" & l + 1).Value = CDate(mdir)
Case 8
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JJ" & l + 1).Value = CDate(mdir)
Case 9
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JL" & l + 1).Value = CDate(mdir)
Case 10
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JN" & l + 1).Value = CDate(mdir)
Case 11
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JP" & l + 1).Value = CDate(mdir)
Case 12
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JR" & l + 1).Value = CDate(mdir)
Case 13
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JT" & l + 1).Value = CDate(mdir)
Case 14
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JV" & l + 1).Value = CDate(mdir)
Case 15
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JX" & l + 1).Value = CDate(mdir)
Case 16
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("JZ" & l + 1).Value = CDate(mdir)
Case 17
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("KB" & l + 1).Value = CDate(mdir)
Case 18
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("KD" & l + 1).Value = CDate(mdir)
Case 19
If Range("A2") = liste(l, 1) Then Sheets("Workpackages Database & PP").Range("KH" & l + 1).Value = CDate(mdir)
End Select
Next

End Sub
 

Statistiques des forums

Discussions
312 490
Messages
2 088 881
Membres
103 981
dernier inscrit
vinsalcatraz