Bonjour
S'il vous plaît transformer cette équation pour le code vba
Je remercie ceux qui sur ce grand forumCode:=SUMPRODUCT((XLQ=$B17)*(M_AL=E$1)*ZOLI)
Merci d'avance
Version imprimable
Bonjour
S'il vous plaît transformer cette équation pour le code vba
Je remercie ceux qui sur ce grand forumCode:=SUMPRODUCT((XLQ=$B17)*(M_AL=E$1)*ZOLI)
Merci d'avance
Ecris sur ta feuille cette formule
Sélectionne cette cellule
Dans fenêtre Exécution de ton éditeur vba, tape cette ligne et regarde le resultatEn adaptant,Code:?activecell.formula
Code:Worksheets("Feuil1").Range("X2").Formula = "=SUMPRODUCT((XLQ=$B17)*(M_AL=E$1)*ZOLI)"
Merci professeur mercatog
Terme non seulement des cellules
est donc
J'espère que le travail de ce code est très important
Code:
1
2
3
4 For Columns_A = 3 To 28 XXX = Worksheets("Feuil1").Range("X2").Formula = "=SUMPRODUCT((XLQ=$B17)*(M_AL=E$1)*ZOLI)" Cells(17, Columns_A) = XXX Next Columns_A
Code:
1
2
3
4 Sub test() Worksheets("Feuil1").Range("C3:AB3").Formula = "=SUMPRODUCT((XLQ=$B17)*(M_AL=E$1)*ZOLI)" End Sub
Désolé Pour demander un duplicata
Où est le problème dans le code suivant
8OCode:
1
2
3 For xxx = 3 To 28 Cells(17, xxx).Value = Evaluate("=SUMPRODUCT((Name=$B$17)*(Month=Cells(1, xxx).Address(False, True) *(Madine))") Next xxx
Name, Month et Madine sont des plages nommées
Code:
1
2
3 For XXX = 3 To 28 Cells(17, XXX).Value = Evaluate("=SUMPRODUCT((Name=$B$17)*(Month=" & Cells(1, XXX).Address(False, True) & " *(Madine))") Next XXX
Il ya un problème dans le code
Voir l'image
Avant de passer par Evaluate, regarde la formule que va donner:
Tu sauras que tu as une parenthèse en moins et un espace en plusCode:
1
2
3 For XXX = 3 To 28 Cells(17, XXX).Formula = "=SUMPRODUCT((Name=$B$17)*(Month=" & Cells(1, XXX).Address(False, True) & " *(Madine))" Next XXX
donc, ré essaies ceci
Code:
1
2
3 For XXX = 3 To 28 Cells(17, XXX).Value = Evaluate("=SUMPRODUCT((Name=$B$17)*(Month=" & Cells(1, XXX).Address(False, True) & ")*Madine)") Next XXX
Des résultats incorrects
Répète la colonne de résultat à deux reprises
Pourquoi :(
Parce que tu ne veux pas analyser ta formule
avant de passer par Evaluate, teste ton code et regarde la formule dans chaque cellule.
Si tu travilles avec plusieurs feuilles, il faudrait spécifier aussi la feuille.Code:
1
2
3 For XXX = 3 To 28 Cells(17, XXX).Formula = "=SUMPRODUCT((Name=$B$17)*(Month=" & Cells(1, XXX).Address(False, True) & ")*Madine)" Next XXX
Code:
1
2
3
4
5 With Worksheets("Feuil1")'à adapter For XXX = 3 To 28 .Cells(17, XXX).Formula = "=SUMPRODUCT((Name=$B$17)*(Month=" & .Cells(1, XXX).Address(False, True) & ")*Madine)" Next XXX End With
Cette formule
La formule dans le code :Code:=SUMPRODUCT((Name=$B17)*(Month=C$1)*Madine)
J'espère amendementCode:=SUMPRODUCT((Name=$B$17)*(Month=$C1)*Madine)