bonjour tout le monde
suite a cette dicussion, j'utilise maintenant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
.Cells(x, 2).Formula = "=SUMPRODUCT(('Base de données'!c2:c1000=""" & var1 & """)*('Base de données'!f2:f1000=""" & var2 & """)*('Base de données'!h2:h1000))"
merci fring, cela marche très bien
mais maintenant, je souhaite travailler avec des zones nommées
donc
'Base de données'!c2:c1000 se nomme bdd_colonne1
'Base de données'!f2:f1000 se nomme bdd_colonne2
et 'Base de données'!h2:h1000)) se nomme bdd_somme
je souhaiterais ecrire
cells(x,2) .formula = "=SUMPRODUCT((bdd_colonne1= var1)*(bdd_colonne2= var2)*(bdd_somme). la formule fonctionne très bien en excel, mais je ne suis pas doué en guillemet, je n'ai pas bien pigé le principe des trois guillemets.
je precise que j'ai nommé mes zone avec une formule type
=(decaler (a2;;;nbval(A:A)) et decaler (c2;;;nbavl (A:A) ) donc je n'ai pas de sousis de fonctionement, mais simplement de traduction en vba
merci d'avance a qui pourra m'aider

6h du mat, edit :
je patauge. j'ai trouvé la maniere de l'écrire qui ne choque pas le compilateur
ma feuille s'appelle tableau, les données viennent de bdd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Set Bdd = Sheets("Base de données")
With Tableau
.Cells(x, 2).Formula = "=SUMPRODUCT((""" & Bdd.Range("bdd_colonne1") & """=""" & var1 & """)*(""" & Bdd.Range("bdd_colonne2") & """=""" & var2 & """)*(""" & Bdd.Range("bdd_somme01.01") & """ )"
end with
mais j'obtiens une cellule vide. meme pas une erreur ou quoi que ce soit
je comprend plus