Bonjour,
une proposition de correction
Function DRP(Cluster, CPU_RAM_Alloc) As Integer
'exemple =DRP("CLUSTER22";"CPU") sortirai la valeur "4"
Dim DRPDATA As Integer
With Sheets("Feuil1")
lastrow = .Range("B65000").End(xlUp).Row
DRPDATA = 0
For i = 2 To lastrow
If .Cells(i, 2).Value = Cluster Then
If .Cells(i, 6).Value = "Oui" Then
If CPU_RAM_Alloc = "CPU" Then DRPDATA = DRPDATA + .Cells(i, 3).Value
If CPU_RAM_Alloc = "RAM" Then DRPDATA = DRPDATA + .Cells(i, 4).Value
If CPU_RAM_Alloc = "Alloc" Then DRPDATA = DRPDATA + .Cells(i, 5).Value
End If
End If
Next
End With
DRP = DRPDATA
End Function
les variables déclarées (implicitement ou explicitement) à l'intérieur d'une procédure ou d'une fonction, ne sont pas connues en dehors de celle-ci.
dans ton code initial, quand tu lances macro1 à partir de ta fonction DRP, les variables cluster, CPU_RAM_ALLOC sont des variables différentes de celles définies dans DRP, de même DRPDATA.