Syntaxe sommeprod vba
flavinou7263
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour
quelqu'un peut il me dire l'erreur de synthaxe que j'ai !!
etbc, etbf, np et cc sont des variables définies
Dim spe As String
Dim np As String
Dim etbc As String
Dim etbf As String
Dim frml As String
Dim cc As String
For i = 8 To derniereligne
'affectation des valeurs
np = Cells(i, 4).Value
etbf = Cells(i, 7).Value
etbc = Cells(i, 6).Value
spe = Cells(i, 3).Value
'recherche valeur
For j = 8 To 91
cc = Cells(5, j).Value
Select Case spe
Case Is = "0-ENCADR" '("NED", "LED", "VED")
Cells(i, j).formula = "=SUMPRODUCT((""&Sheets(""Rapport48_Origine"").Range(""J:J"").Value&""=""&np&"")*(""&Sheets(""Rapport48_Origine"").Range(""AE:AE"").Value&""="&etbc&"")*(""&Sheets(""Rapport48_Origine"").Range(""AX:AX"").Value&""="&etbf&"")*(""&Sheets(""Rapport48_Origine"").Range(""AH:AH"").Value&""="&cc&"")*((""&Sheets(""Rapport48_Origine"").Range(""AW:AW"").Value&""=NED)+(""&Sheets(""Rapport48_Origine"").Range(""AW:AW"").Value&""=LED)+(""&Sheets(""Rapport48_Origine"").Range(""AW:AW"").Value&""=VED)>0)*(""&Sheets(""Rapport48_Origine"").Range(""DG:DG"").Value&""))"
Case ...
End Select
Next j
Next i
quelqu'un peut il me dire l'erreur de synthaxe que j'ai !!
etbc, etbf, np et cc sont des variables définies
Dim spe As String
Dim np As String
Dim etbc As String
Dim etbf As String
Dim frml As String
Dim cc As String
For i = 8 To derniereligne
'affectation des valeurs
np = Cells(i, 4).Value
etbf = Cells(i, 7).Value
etbc = Cells(i, 6).Value
spe = Cells(i, 3).Value
'recherche valeur
For j = 8 To 91
cc = Cells(5, j).Value
Select Case spe
Case Is = "0-ENCADR" '("NED", "LED", "VED")
Cells(i, j).formula = "=SUMPRODUCT((""&Sheets(""Rapport48_Origine"").Range(""J:J"").Value&""=""&np&"")*(""&Sheets(""Rapport48_Origine"").Range(""AE:AE"").Value&""="&etbc&"")*(""&Sheets(""Rapport48_Origine"").Range(""AX:AX"").Value&""="&etbf&"")*(""&Sheets(""Rapport48_Origine"").Range(""AH:AH"").Value&""="&cc&"")*((""&Sheets(""Rapport48_Origine"").Range(""AW:AW"").Value&""=NED)+(""&Sheets(""Rapport48_Origine"").Range(""AW:AW"").Value&""=LED)+(""&Sheets(""Rapport48_Origine"").Range(""AW:AW"").Value&""=VED)>0)*(""&Sheets(""Rapport48_Origine"").Range(""DG:DG"").Value&""))"
Case ...
End Select
Next j
Next i
2 réponses
Bonjour
Quelques remarques
R1. La fonction SOMMEPROD n'admet pas de colonnes entières "J:J", "AE:AE"
R2. Tu aurais intérêt à construire ta formule étape par étape et à la contrôler au fur et à mesure
un début (pour des plages allant de la ligne 1 à la ligne 10)
http://www.cjoint.com/c/FFConLrRYTu
Cdlmnt
Quelques remarques
R1. La fonction SOMMEPROD n'admet pas de colonnes entières "J:J", "AE:AE"
R2. Tu aurais intérêt à construire ta formule étape par étape et à la contrôler au fur et à mesure
un début (pour des plages allant de la ligne 1 à la ligne 10)
Const nomf = "Rapport48_Origine"
Dim f as string
'...
f = "=SUMPRODUCT((" & nomf & "!J1:J10=" & np & ")"
f = f & "*(" & nomf & "!AE1:AE10=" & etbc & "))"
'...
ActiveSheet.Cells(i, j).Formula = f
http://www.cjoint.com/c/FFConLrRYTu
Cdlmnt
Et pour le multicritere avec le + et >0 comment ça se code ?