Problème SOMME.SI sur VBA

Bonjour,

Je souhaite utiliser la fonction somme.si pour additionner les cellules d'une colonne (McV) lorsque celles de la colonne d'en face (Mois) contiennent la valeur saisie par l'utilisateur dans une inputbox (ici un mois). Sur VBA j'ai donc écrit ceci :

Dim i As String

i = InputBox("Opérations effectuées pour le mois de :")

Sheets("Resultat").Activate

Range("McVResultat").End(xlDown).Offset(1, 0).Select

ActiveCell.FormulaR1C1 = "=SUMIF(Mois,i,McV)"

Ca ne marche pas, il semble qu'Excel ne reconnaisse pas la valeur de i dans la colonne. J'ai donc essayé de formuler les différentes valeurs que peut prendre i (puisqu'il n'y en a que 12).

Mon problème est que si j'écris directement dans la cellule où je veux afficher le résultat de la fonction...

=SOMME.SI(Mois;"Juin";McV)

... ça fonctionne. Mais comme le mois est amené à changer, si j'écris sur VBA...

If i = "Juin" Then

ActiveCell.FormulaR1C1 = "=SUMIF(Mois,"Juin",McV)"

End If

... VBA n'accepte pas les guillemets à Juin, et si je les enlève ça ne marche pas.

Comment puis-je faire?

Merci.

Salut Mystigirl,

remplace:

ActiveCell.FormulaR1C1 = "=SUMIF(Mois,i,McV)" 

par:

ActiveCell.FormulaR1C1 = "=sumif(Mois," & """" & i & """" & ",McV)"

Ca devrait répondre à tes attentes,

J'attends ta réponse,

Souri84

re,

au fait qu'en est il de ces fils ?

Celui-ci

Celui-la

ou encore celui-là

et pourquoi pas chti là

Remercis quand même de temps en temps tous ceux qui t'ont aidé à réaliser ton projet...

Et si les réponses ne conviennent pas, n'hésites pas non plus à nous le dire... on ne va pas te manger....

Sur ces belles paroles,

Souri84

4lp-ok.xlsm (135.58 Ko)

Ca marche !! Merci beaucoup.

Édition par Mytå

  • Dès que votre problème est résolu, merci de le marquer en tant que [Résolu]
    grâce à l'utilitaire se trouvant en bas de page, aperçu :
Rechercher des sujets similaires à "probleme somme vba"