Bonjour,
Je fais quelques opérations sur des objets range et je tiens à garder les informations d'adresse des range une fois revenu sous Excel du coup ça donne un code un peu lourd parfois ex:
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
'Lang weihted SD qe
With StartCell
    For i = 1 To qe.Rows.Count
        .Offset(i).FormulaR1C1 = "=R4C17*R5C17*" & Ce.Cells(i).Address(False, False, xlR1C1, , .Offset(i)) & _
            "/(1+R5C17*" & Ce.Cells(i).Address(False, False, xlR1C1, , .Offset(i)) & ")"
        .Offset(i).NumberFormat = "0.00"
        .Offset(i, 1).FormulaR1C1 = "=RC[-1]-" & qe.Cells(i).Address(False, False, xlR1C1, , .Offset(i, 1))
        .Offset(i, 1).NumberFormat = "0.00E+00"
        .Offset(i, 2).FormulaR1C1 = "=RC[-1]/" & qe.Cells(i).Address(False, False, xlR1C1, , .Offset(i, 2))
        .Offset(i, 2).NumberFormat = "0.00E+00"
        .Offset(i, 3).FormulaR1C1 = "=(RC[-3]-" & qe.Cells(i).Address(False, False, xlR1C1, , .Offset(i, 3)) & ")^2"
        .Offset(i, 3).NumberFormat = "0.00E+00"
        .Offset(i, 4).FormulaR1C1 = "=RC[-1]/" & qe.Cells(i).Address(False, False, xlR1C1, , .Offset(i, 4))
        .Offset(i, 4).NumberFormat = "0.00E+00"
        .Offset(i, 5).FormulaR1C1 = "=Abs(RC[-4])/" & qe.Cells(i).Address(False, False, xlR1C1, , .Offset(i, 5))
        .Offset(i, 5).NumberFormat = "0.00E+00"
        .Offset(i, 6).FormulaR1C1 = "=RC[-3]/" & SD_qe.Cells(i).Address(False, False, xlR1C1, , .Offset(i, 6))
        .Offset(i, 6).NumberFormat = "0.00E+00"
    Next i
End With
Je ne trouve pas de formulation plus globale pour faire ce genre de calcul, du type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
DestRange.formulaR1C1 = "=3*" & qe.address(false,false,xlR1C1,,DestRange)
Est-ce que quelqu'un aurait une idée ?
Bon après-midi