Integration formule SOMME.SI.ENS dans VBA

Bonjour à tous,

Débutant dans VBA, j'ai du mal à integrer les formules que je souhaites, en VBA. Le probleme que je rencontre dans la formule somme.si.ens est surtout de figer une cellule en critère, et de me servir d'une variable pour un deuxieme critère... Voici l'exemple de mon code :

  • En Gras la cellule que je veux bloquer

Sub Effectif()

Dim lig As Long

Dim i As Integer

lig = 2118

Do While Not IsEmpty(Range("C" & lig))

lig = lig + 1

Loop

For i = 2119 To lig - 1

Range("G" & i).FormulaLocal = "SOMME.SI.ENS('Pointage Personnel.xlsm'!Bheure[NB_H];'Pointage Personnel.xlsm'!Bheure[DATE];G2116;'Pointage Personnel.xlsm'!Bheure[Noms];"B"&i&"" ""&"C"&i)"

Next

End Sub

Mon soucis est que je n'arrive pas à valoriser ma variable i dans mon deuxieme critere de ma formule Somme.si.ens...

SI quelqu'un à une solution je suis preneur

Merci

Bonjour,

Tu sembles suggérer que la seule question est la référence en absolu pour la cellule G2116 ...

As-tu testé $G$2116 ...?

Pour t'aider concrètement à obtenir une solution adaptée ...

Bonjour James007,

En creusant un peuplus j'ai trouvé la solution en comprenant comment fontionne la formulaR1C1, en fonction de ma valeur relative. J'ai modifier le code est en bloquant la cellule G2116 en R2116C, cela fonctionne comme ceci :

Sub Effectif2()

Dim lig As Long

Dim i As Integer

lig = 2118

Do While Not IsEmpty(Range("C" & lig))

lig = lig + 1

Loop

For i = 2119 To lig - 1

Range("G" & i).FormulaR1C1 = "=SUMIFS('Pointage Personnel.xlsm'!Bheure[NB_H],'Pointage Personnel.xlsm'!Bheure[DATE],R2116C,'Pointage Personnel.xlsm'!Bheure[Noms],RC[-5]&"" ""&RC[-4])"

Next

EndSub

A+

Re,

Content que tu aies pu résoudre ton problème ...

Rechercher des sujets similaires à "integration formule somme ens vba"