Pb avec Sum if

Résolu
Signaler
Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour, j'ai un souci avec la fonction Sumif, et je ne comprends pas pourquoi à vrai dire.
Voici la macro
Sub macro()<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 

l = Sheets("feuille2").Cells.SpecialCells(xlCellTypeLastCell).Column

m = Worksheets("feuille2").Cells(Cells.Rows.Count, "B").End(xlUp).Row

 

For i = 6 To m

Worksheets("feuille1").Cells(i, 9) = "=SUMIF('feuille2'!" & Range(Cells(6, 13), Cells(k, l)) & ",'feuille1'!" & Cells(i, 2) & ",'feuille2'!" & Range(Cells(6, l), Cells(k, l)) & ""

next

 End sub

Merci beaucoup de votre aide et bonne journée

9 réponses

Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007

Ok çà marche

"=Worksheets("feuille1").Cells(i, 9).Formula="=SUMIF('feuille2'!" & Range(Cells(6, 13), Cells(k, l)).Address & ",'feuille1'!" & Cells(i, 2).Address & ",'feuille2'!" & Range(Cells(6, l), Cells(k, l)).Address & ")"

Par contre une dernière question si je souhaite additionner cette valeur à la précédente comment dois je faire?
J'ai testé.
Worksheets("feuille1").Cells(i, 9).Formula="=Worksheets("feuille1").Cells(i, 9)+ SUMIF('feuille2'!" & Range(Cells(6, 13), Cells(k, l)).Address & ",'feuille1'!" & Cells(i, 2).Address & ",'feuille2'!" & Range(Cells(6, l), Cells(k, l)).Address & ")"
Mais malheureusement çà ne marche pas.
Merci.
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
Worksheets("feuille1").Cells(i, 9).Formula =
Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007

Oui pardon j'avais également mis ce que tu m'as donné comme réponse et çà ne marchait toujoyrs pas
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
un message d'erreur ?

après, a voir si tu dois pas utiliser FormulaLocal (je ne te le conseille pas)...
dépend des parametres regionnaux.
Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007

Oui j'ai vu çà sur le forum, pour formulalocal, Mais ce que je comprends pas c'est qd je regarde les paramètres k,l et i ils sont correct, donc je ne pense pas que çà vienne de çà. Merci
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
et bien le probleme semble etre ta formule finale.....

"=SUMIF('feuille2'!" & Range(Cells(6, 13), Cells(k, l)) & ",'feuille1'!" & Cells(i, 2) & ",'feuille2'!" & Range(Cells(6, l), Cells(k, l))

tu veux, je pense faire :
"=SUMIF('feuille2'!" & Range(Cells(6, 13), Cells(k, l)).Address & ",'feuille1'!" & Cells(i, 2).Address & ",'feuille2'!" & Range(Cells(6, l), Cells(k, l)).Address
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
74
pas simple simple...

une petite fonction VBA serait la bienvenue pour eclaircir tout cela...
plutot que de passer par un SUMIF...

regarde ce que tu concatène...

Worksheets("feuille1").Cells(i, 9).Formula="=Worksheets("feuille1").Cells(i, 9)+ SUMIF('feuille2'!" & Range(Cells(6, 13), Cells(k, l)).Address & ",'feuille1'!" & Cells(i, 2).Address & ",'feuille2'!" & Range(Cells(6, l), Cells(k, l)).Address & ")"

il faudrait au pire avoir :


Worksheets("feuille1").Cells(i, 9).Formula="=" & Worksheets("feuille1").Cells(i, 9).Value & "+SUMIF('feuille2'!" & Range(Cells(6, 13), Cells(k, l)).Address & ",'feuille1'!" & Cells(i, 2).Address & ",'feuille2'!" & Range(Cells(6, l), Cells(k, l)).Address & ")"

même si c'est pas joli joli et que ca ne fonctionne surement pas...
Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007

Oui je confirme que c'est pas évident et que çà ne marche pas non plus.lol.Je vais essayé de trouver une réponse...
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Tu ne peux pas intégrer des termes comme Worksheets à l'intérieur des guillemets de ta formule

<strike>Worksheets("feuille1").Cells(i, 9).Formula= "=Worksheets("feuille1").Cells(i, 9)+</strike>
Worksheets("feuille1").Cells(i, 9).Formula= "=" & Worksheets("feuille1").Cells(i, 9) +

MPi²