Passage de SOMME.SI.ENS en SUMIFS

Résolu/Fermé
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 - Modifié le 28 août 2018 à 22:32
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 - 1 sept. 2018 à 10:47
Bonjour à tous,

Je viens, une fois de plus demander votre aide. J'ai une formule qui fonctionne très bien sur Excel et je souhaiterais i'intégrer dans une macro. Seulement voilà, j'ai systématiquement, via la macro, une valeur de zéro en retour.

Ma formule sur Excel

=SI($G7="";"";SOMME.SI.ENS(SortiesJournal;CatégorieJournal;$E$7;DescriptionJournal;$G7;DateJournal;">=" & DateAnnéeDébut;DateJournal;"<=" & DateAnnéeFin))
Cette formule fonctionne très bien et me renvoie un bon résultat.

Par contre, mon code (?) :

Sub Sumifs_VBA()

Dim result As Integer

Ligne1 = ActiveCell.Row 'remplace la ligne 7 dans ma formule sur Excel. affichera le résultat à côté de la cellule sélectionnée

result = Application.WorksheetFunction.SumIfs(Sheets("journal").Range("SortiesJournal"), _
Sheets("Journal").Range("CatégorieJournal"), _
Sheets("Synthèse Compte Courant").Range("E" & Ligne1), _
Sheets("Journal").Range("DescriptionJournal"), _
Sheets("Synthèse Compte Courant").Range("G" & Ligne1), _
Sheets("Journal").Range("DateJournal"), ">=" & Sheets("Paramètres").Range("DateAnnéeDébut"), _
Sheets("Journal").Range("DateJournal"), "<=" & Sheets("Paramètres").Range("DateAnnéeFin"))

MsgBox result

End Sub

Sachant que SortiesJournal, CatégorieJournal, DescriptionJournal et DateJournal sont des plages de cellule.
DateAnnéeDébut et DateAnnéeFin sont des cellules. Le problème vient des dates mais je ne trouve pas l'explication.

En attendant q'une personne dévouée se penche sur ma question, je vous souhaite une très bonne soirée. À très vite !!!


1 réponse

danielc0 Messages postés 902 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 juin 2024 78
29 août 2018 à 12:37
Bonjour,

result=evaluate("SumIfs(""journal!SortiesJournal,Journal!CatégorieJournal...")


Cordialement.

Daniel
1
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 1
Modifié le 29 août 2018 à 21:28
Bonsoir Daniel,

Merci pour votre réponse. J'ai bien essayé votre solution mais en vain. J'ai une erreur 13 incompatibilité de type.

Ma ligne de code est :

Result = Evaluate("SumIfs( "" Journal!SortiesJournal, Journal!CatégorieJournal, Synthèse!E & Ligne1, Journal!DescriptionJournal, Synthèse!G & Ligne1, Journal!DateJournal, " >= " & Paramètres!DateAnnéeDébut, Journal!DateJournal, " <= " & Paramètres!DateAnnéeFin)")

J'ai surement oublié un petit truc quelque part...!!!

Encore merci et bonne soirée.

Cdt, Ludwig

PS : CatégorieJournal, DescriptionJournal, Synthèse!E & Ligne, Synthèse!G & Ligne1sont principalement des mots. DateJournal, DateAnnéeDébut et DateAnnéeFin sont des dates. SortiesJournal sont des chiffres !!!
0
danielc0 Messages postés 902 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 juin 2024 78
30 août 2018 à 12:07
"PS : CatégorieJournal, DescriptionJournal, Synthèse!E & Ligne, Synthèse!G & Ligne1sont principalement des mots. DateJournal, DateAnnéeDébut et DateAnnéeFin sont des dates. SortiesJournal sont des chiffres !!!"

Ce qui est surtout important, est-ce que ce sont des variables ou des noms définis ?

Daniel
0
danielc0 Messages postés 902 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 juin 2024 78
30 août 2018 à 12:14
Ignore mon message précédent.

Essaie :

Result = Evaluate("SumIfs(Journal!SortiesJournal,Journal!CatégorieJournal,Synthèse!E" & Ligne1 & _
",Journal!DescriptionJournal,Synthèse!G" & Ligne1 & ",Journal!DateJournal," & ">=" & _
"Paramètres!DateAnnéeDébut,Journal!DateJournal,""<=""" & "Paramètres!DateAnnéeFin)")


Daniel
0
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 1
30 août 2018 à 20:48
Bonsoir Daniel,

Encore merci pour cette proposition !

Mais, j'ai toujours le même message d'erreur.

Pour info,

J'ai sur la feuille "Journal" différentes informations :
- une colonne date : date, nommée DateJournal
- une colonne catégorie : alphanumérique, nommée CatégorieJournal
- une colonne description : alphanumérique, nommée DescriptionJournal
- une colonne entrée : numérique, nommée EntréeJournal
- une colonne sortie : numérique, nommée SortieJournal

Sur une deuxième feuille "Synthèse" j'ai une macro qui m'affiche les catégories utilisées dans le mois. Le choix du mois se fait via une liste déroulante.

Une autre macro m'affiche sur la colonne suivante toutes les descriptions qui correspondent à ma catégorie sélectionnée. Un peu comme une liste en cascade. Ensuite j'affiche sur la colonne suivante le montant en fonction de la description et de la catégorie (Jusque là aucun problème) mais toujours en fonction du mois sélectionné (les dates sont dans la feuille "paramètres", DateAnnéeDébut et DateAnnéeFin). C'est à cette étape que le problème commence. Dès que je met les dates ça ne fonctionne plus. Du moins le résultat donne zéro alors que le même calcul et avec les mêmes données sur Excel, je n'ai aucun problème.

En fait cela me permettrai que l'affichage se fasse que si le calcul SUMIFS est différent de zéro. Mais je coince !!!

J'espère que ce supplément d'info vous permettra de mieux comprendre ma demande.

Encore merci à vous et bonne soirée !!!

Cdt, Ludwig
0
danielc0 Messages postés 902 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 juin 2024 78
31 août 2018 à 18:42
Sûr que ce n'est pas facile à mettre au point sans le classeur. Est-ce que tu pourrais mettre en ligne un lien sur le classeur, sans données confidentielles ?

Daniel
0