Création de formules par macros

Bonsoir Chers tous

J'ai élaboré une macro pour insérer des formules dans des cellules.

Mais il se trouve qu'elle comporte des erreurs. Je vous prie de bien vouloir inspecter mon code et m'aider à le corriger.

Merci !!!

Sub inserrerFormule()
With Sheets("Grille_de_Dispensation")
Dim dl As Long
dl = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("Q4") = _
    "=SUMPRODUCT((YEAR(B2:B" & dl & "))= TB!$B$5)*((B2:B" & dl & "))<= TB!$B$11))"

.Range("Q9") = _
    "=SUMPRODUCT((YEAR(B2:B" & dl & "))= TB!$B$5)*(D2:D" & dl & ")= ""Oui"")*((B2:B" & dl & "))<= TB!$B$11))"

.Range("Q24") = _
   "=COUNTIFS(B2:B" & dl & "),TB!B11,D2:D" & dl & "),""Oui"")"

.Range("Q25") = _
    "=COUNTIFS(B2:B" & dl & "),TB!B11,D2:D" & dl & "),""T.In"")"

.Range("Q26") = _
"=SUMPRODUCT((YEAR(B2:B" & dl & "))= TB!$B$5)*(D2:D" & dl & ")= ""T.In"")*((B2:B" & dl & "))<= TB!$B$11))"
End With
End Sub

Bonjour,

J'ai l'impression qu'il s'agit essentiellement de parenthèses en trop. Voici une tentative de rectification non testée :

Sub inserrerFormule()
Dim dl As Long
With Sheets("Grille_de_Dispensation")
    dl = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    .Range("Q4").formula = "=SUMPRODUCT((YEAR(B2:B" & dl & ")= TB!$B$5)*(B2:B" & dl & "<= TB!$B$11)*1)"
    .Range("Q9").formula = "=SUMPRODUCT((YEAR(B2:B" & dl & ")= TB!$B$5)*(D2:D" & dl & "= ""Oui"")*(B2:B" & dl & "<= TB!$B$11)*1)"
    .Range("Q24").formula = "=COUNTIFS(B2:B" & dl & ",TB!B11,D2:D" & dl & ",""Oui"")"
    .Range("Q25").formula = "=COUNTIFS(B2:B" & dl & ",TB!B11,D2:D" & dl & ",""T.In"")"
    .Range("Q26").formula = "=SUMPRODUCT((YEAR(B2:B" & dl & ")= TB!$B$5)*(D2:D" & dl & "= ""T.In"")*(B2:B" & dl & "<= TB!$B$11)*1)"
End With
End Sub

Cdlt,

GRAND MERCI

C'est très juste !!!!

Rechercher des sujets similaires à "creation formules macros"