I think I know why your code is so slow, the With range statement means the code accesses the spreadsheet multiple times, the way to do it is to write all the equations into an array and then write the array to the spreadsheet in one go . I just tired this code and it was a factor of 50 times faster than yours.
With ThisWorkbook.Sheets("Sheet1")
lLR = Cells(Rows.Count, "A").End(xlUp).Row
End With
inarr = Range("AY59:EX" & lLR)
'assigning the main loading formula
Application.StatusBar = " Automated Planning : Computing ...."
' With Range("AY59:EX" & lLR)
' .Formula = "=IF(OR($AF59="""",$AF59="""",$AJ59=""""),0,IF(AY$58<$AJ59,0,IF(AY$58>=$AJ59,IF(0<($AN59),MIN(($AN59-'SUM(AX59:$AX59)),$AO59,SUMIF(Shadow_Dept_Lines_Sum_Col,$AM59,AY$4:AY$56)-SUMIF($AM$58:$AM58,$AM59,AY$58))))))"
' '.Application.Calculation = xlCalculationAutomatic
' .Value = .Value
' End With
endarray = 59 - lLR
For i = 1 To endarray
inarr(i, 1) = "=IF(OR($AF59="""",$AF59="""",$AJ59=""""),0,IF(AY$58<$AJ59,0,IF(AY$58>=$AJ59,IF(0<($AN59),MIN(($AN59-SUM(AX59:$AX59)),$AO59,SUMIF(Shadow_Dept_Lines_Sum_Col,$AM59,AY$4:AY$56)-SUMIF($AM$58:$AM58,$AM59,AY$58))))))"
Next i
Range("AY59:EX" & lLR) = inarr