Passage d'un SUMIF dans une cellule via VBA

Signaler
Messages postés
1
Date d'inscription
jeudi 7 juin 2012
Statut
Membre
Dernière intervention
7 juin 2012
-
Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
8 juin 2012
-
Bonjour à tous,

J'étais inscrit ici fut il un temps, pour mes multiples interrogations VBA !

Je me retrouve à faire un peu de code rapide pour le boulot, et je suis bloqué par certainement une bêtise de VBA.

Pour expliquer le contexte, j'essaie de rentrer en dur une formule excel grâce à du code vba dans une cellule. j'ai réussi avec une formule sum toute simple, par contre dès que je passe à la sumif, on me renvoie systématiquement une erreur.

"=SUMIF(F5:F10,"=OUI",H5:H10)"

je l'ai passé directement dans la cellule avec une cells(x,y).formula, puis avec une variable intermédiaire, sans succès.
Au départ j'utilisais un TRUE , puis je me suis dit que VBA n'aimait peut être pas l'utilisation du mot, d'où ce 'OUI'.

Mais même avec ça, impossible !

Je m'en remets à vous, pour avoir des suggestions sur comment procéder.

Merci beaucoup

PS : Excel 2007, version UK, cela peut influer j'imagine.

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
1) une booléenne (vrai ou true selobn ta version) n'est pas un yes/no !
2) que fait le 2ème signe "=" dans ta formule ? il n'y a pas sa place
3) si en formule et que tu utilises SUMIF , c'est que tu es en version anglaise ou que tu l'écris depuis VBA, en utilisant Formula. Or, dans ce que tu montres, on voit un sacré mélange de notation française et de notation anglaise !
Conclusion : tu devras être plus précis et clair (tu es sous VBA ou tu es en formule directe ? - ta version est française pou anglaise ? - quelles valeurs contient la plage considérée ? des booléennes ou autre chose et quoi ?)

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
1
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
7 juin 2012

Bonjour à vous deux,

ucfoutu, si je comprends bien son problème est que lorsqu'on passe la formule par valeur avec un .formula, le TRUE testé depuis la cellule Excel peut être mal compris par VBA comme un booléen, alors que c'est un simple test sur une chaine de caractère dans Excel : d'où le changement en oui/non.

le deuxième = n'est il pas pour tester que la cellule soit égale à oui ?

Je pense également que ce doit être en anglais, Excel 2007 version UK comme précisé, selon toute logique c'est de l'anglais...
En ce qui concerne le VBA, pourquoi poster sous le forum VBA si c'est un problème Excel? là encore, ça me semble plutôt clair.

Conclusion : ce n'est peut être pas clair, mais ça l'est encore moins quand on lit le post en diagonale (et encore) ! :-)

Tu devrais essayer de regarder du côté des FormulaLocal.
Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
8 juin 2012
4
Bonjour,

Pour écrire en B2:

[B2].Formula = "=SUMIF(F5:F10,""=OUI"",H5:H10)"


Cordialement

ctac