J ai une erreur runtime error 1004 pour la ligne .Range("B33") = ..... de ce code ci dessous. Je ne vois pas pourquoi cela ne marche pas. Mon range PenWcond1 est une cellule excel contenant LCPam<=LCPpm (correspondant a un named range). De meme PenWforn1 est LCPpm-0,5*(LCPpm-LCPam)
Ce qui ferait en Excel =if(LCPam=<LCPpm; LCPpm-0,5*(LCPpm-LCPam);0). Je ne vois pas d ou vient l erreur. Il n est pas possible de faire des concatenations avec un if ??? Quelqu un aurait une idee?
Merci

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
Sub CommandButton2_Click()
 
With Sheets("Revenues")
    'Creation de LCPam Formula
    .Range("B17") = "=" & Sheets("Input").Range("LCPamformula")
   .Range("B17").AutoFill Destination:=.Range("LCPam"), Type:=xlFillDefault
    'Creation de LCPpm Formula
   .Range("B22") = "=" & Sheets("Input").Range("LCPpmformula")
   .Range("B22").AutoFill Destination:=.Range("LCPpm"), Type:=xlFillDefault
  'Creation de LCPamW Formula
    .Range("B24") = "=" & Sheets("Input").Range("LCPamWformula")
   .Range("B24").AutoFill Destination:=.Range("LCPamW"), Type:=xlFillDefault
     'Creation de Winter Penalty Formula
    .Range("B33") = "=if(" & Sheets("Input").Range("PenWcond1") & ";" & Sheets("Input").Range("PenWform1") & ";0)"
   .Range("B33").AutoFill Destination:=.Range("PenW"), Type:=xlFillDefault
    'Creation de DFPm Formula
 
   .Range("B23") = "=if(" & Sheets("Input").Range("DFPmcond1") & ";" & Sheets("Input").Range("DFPmform1") & ";if(" & Sheets("Input").Range("DFPmcond2") & ";" & Sheets("Input").Range("DFPmform2") & ";if(" & Sheets("Input").Range("DFPmcond3") & ";" & Sheets("Input").Range("DFPmform3") & ";if(" & Sheets("Input").Range("DFPmcond4") & ";" & Sheets("Input").Range("DFPmform4") & ";if(" & Sheets("Input").Range("DFPmcond5") & ";" & Sheets("Input").Range("DFPmform5") & ";0)))))"
   .Range("B23").AutoFill Destination:=.Range("DFPm"), Type:=xlFillDefault
 
End With
 
End Sub