Sub Macro6_Corrige()
'Je l 'ai écrite comme suit:
'com1 = activeWorksheetFunction.somme(activeWorksheetFunction.nb.si.ens(Sheets("sol2").Range(Cells(i, j), Cells(i, j + 4)), Sheets(feu1).Range(Cells(posi, colref1), Cells(posi, colref1 + 3))))
Dim wsSol As Worksheet, wsFeu As Worksheet
Dim rng1 As String, rng2 As String
Dim i As Long
Set wsSol = Sheets("sol2") ' Sheets("sol2")
Set wsFeu = Sheets("feu1") ' Sheets(feu1)
' Cette formule sera intégrée à 2 boucles si bien qu'elle pourrait finir par exemple par =SOMME(NB.SI.ENS(A500:E500;G300:J300))
For i = 1 To 500 ' Exemple A500:E500 / Mais pour G300:J300 ? il faut 500 Lignes aussi donc G500:J500
' Construire les adresses A1 relatives avec le nom des feuilles
rng1 = wsSol.Range(wsSol.Cells(i, 1), wsSol.Cells(i, 4)).Address(RowAbsolute:=False, ColumnAbsolute:=False, External:=True)
rng2 = wsFeu.Range(wsFeu.Cells(i, 7), wsFeu.Cells(i, 10)).Address(RowAbsolute:=False, ColumnAbsolute:=False, External:=True)
' Formule avec SOMME(NB.SI.ENS) en français
wsSol.Cells(i, 13).FormulaLocal = "=SOMME(NB.SI.ENS(" & rng1 & ";" & rng2 & "))"
Next i
End Sub