Someprod avec recherchev inside ?

Le
Poulpor
Bonjour,

J'ai un problème précis mais assez difficile à énoncer. J'ai donc posté un
fichier sur : http://cjoint.com/?expmJslBuC

Imaginons une balance comptable, avec des comptes, des mois, et des montants.
J'ai également une autre table qui comporte une correspondance entre mes 500
comptes comptables et 20 codes budgets internes.
Je veux trouver la formule qui somme les montants dans la balance, suivant
un mois et selon un code budget (attention : j'ai bien écrit un code budget !)

Ben je peux vous dire que faire la formule directement sans passer par un
recherchev intermédiaire, ce n'est pas de la tarte ! Alors bon, ce n'est pas
capital dans la mesure où je m'en sors de manière peu élégante, mais j'ai
l'impression que c'est jouable

Alors, je remercie les pros de la matricielle de mettre en évidence mon
incompétence en la matière.

Philippe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
dre
Le #4464251
Bonjour,

Il me semble que sans un exemple concret en pièce jointe ce sera bien
difficile de te venir en aide de façon efficace.




Bonjour,

J'ai un problème précis mais assez difficile à énoncer. J'ai donc posté un
fichier sur : http://cjoint.com/?expmJslBuC

Imaginons une balance comptable, avec des comptes, des mois, et des montants.
J'ai également une autre table qui comporte une correspondance entre mes 500
comptes comptables et 20 codes budgets internes.
Je veux trouver la formule qui somme les montants dans la balance, suivant
un mois et selon un code budget (attention : j'ai bien écrit un code budget !)

Ben je peux vous dire que faire la formule directement sans passer par un
recherchev intermédiaire, ce n'est pas de la tarte ! Alors bon, ce n'est pas
capital dans la mesure où je m'en sors de manière peu élégante, mais j'ai
l'impression que c'est jouable ...

Alors, je remercie les pros de la matricielle de mettre en évidence mon
incompétence en la matière.

Philippe


isabelle
Le #4464231
il te faut un autre café dre, http://cjoint.com/?expmJslBuC
;-)

isabelle


Bonjour,

Il me semble que sans un exemple concret en pièce jointe ce sera bien
difficile de te venir en aide de façon efficace.





Bonjour,

J'ai un problème précis mais assez difficile à énoncer. J'ai donc posté un
fichier sur : http://cjoint.com/?expmJslBuC

Imaginons une balance comptable, avec des comptes, des mois, et des montants.
J'ai également une autre table qui comporte une correspondance entre mes 500
comptes comptables et 20 codes budgets internes.
Je veux trouver la formule qui somme les montants dans la balance, suivant
un mois et selon un code budget (attention : j'ai bien écrit un code budget !)

Ben je peux vous dire que faire la formule directement sans passer par un
recherchev intermédiaire, ce n'est pas de la tarte ! Alors bon, ce n'est pas
capital dans la mesure où je m'en sors de manière peu élégante, mais j'ai
l'impression que c'est jouable ...

Alors, je remercie les pros de la matricielle de mettre en évidence mon
incompétence en la matière.

Philippe




AV
Le #4464131
=SOMMEPROD(((B5:B9="hotel")+(B5:B9="restaurant"))*C5:C9)

AV
Poulpor
Le #4464091
On est d'accord. Mais le but est d'avoir la même formule quelque soit le code
budget choisi. Ce qu'il faut imaginer, c'est une feuille séparée avec en
colonne les mois et en ligne les codes budgets.

Moi qui pensais épater ma femme en ne passant pas par un recherchev
intermédaire (créant une colonne supplémentaire dans la balance où on met le
code budgétaire), c'est pas encore ce soir que je bénéficierai du massage
intersidéral.

poulpor


=SOMMEPROD(((B5:B9="hotel")+(B5:B9="restaurant"))*C5:C9)

AV





isabelle
Le #4464051
bonjour Philippe,

une fonction perso ferait t'elle l'affaire ?

=MaSommeMois(A5:A9;1;"RESTAURATION")

Function MaSommeMois(plageMois As Range, mois As Integer, Correspondance As String)
For i = 1 To plageMois.Count
On Error Resume Next
tt = Application.Index(Range("TABLE2"), Application.Match(plageMois(i, 2), Range("TABLE1"), 0))
If IsError(tt) Then
Err.Clear
Else
If plageMois(i, 1) = mois And tt = Correspondance Then MaSommeMois = MaSommeMois + plageMois(i, 3)
End If
Next
End Function


isabelle

On est d'accord. Mais le but est d'avoir la même formule quelque soit le code
budget choisi. Ce qu'il faut imaginer, c'est une feuille séparée avec en
colonne les mois et en ligne les codes budgets.

Moi qui pensais épater ma femme en ne passant pas par un recherchev
intermédaire (créant une colonne supplémentaire dans la balance où on met le
code budgétaire), c'est pas encore ce soir que je bénéficierai du massage
intersidéral.

poulpor



=SOMMEPROD(((B5:B9="hotel")+(B5:B9="restaurant"))*C5:C9)

AV







isabelle
Le #4464031
voici ton fichier avec la fonction http://cjoint.com/?exs1QUpvbE

isabelle




bonjour Philippe,

une fonction perso ferait t'elle l'affaire ?

=MaSommeMois(A5:A9;1;"RESTAURATION")

Function MaSommeMois(plageMois As Range, mois As Integer, Correspondance
As String)
For i = 1 To plageMois.Count
On Error Resume Next
tt = Application.Index(Range("TABLE2"), Application.Match(plageMois(i,
2), Range("TABLE1"), 0))
If IsError(tt) Then
Err.Clear
Else
If plageMois(i, 1) = mois And tt = Correspondance Then MaSommeMois =
MaSommeMois + plageMois(i, 3)
End If
Next
End Function


isabelle


On est d'accord. Mais le but est d'avoir la même formule quelque soit
le code budget choisi. Ce qu'il faut imaginer, c'est une feuille
séparée avec en colonne les mois et en ligne les codes budgets.

Moi qui pensais épater ma femme en ne passant pas par un recherchev
intermédaire (créant une colonne supplémentaire dans la balance où on
met le code budgétaire), c'est pas encore ce soir que je bénéficierai
du massage intersidéral.

poulpor



=SOMMEPROD(((B5:B9="hotel")+(B5:B9="restaurant"))*C5:C9)

AV








AV
Le #4464011
Je vois pas le problème par rapport à la question...
Si tu veux les dépenses de restau. pour le mois 1 il te suffit d'ajouter un test
logique dans le SP :

=SOMMEPROD((A5:A9=1)*((B5:B9="hotel")+(B5:B9="restaurant"))*C5:C9)

Quid d'un rechercheTruc là-dedans ???

AV
hasco
Le #4463891
bonjour

Une solution avec formules matricielles qui a l'air de fonctionner:
http://cjoint.com/?extLjBseTD

qui donnera se genre de formules:
={SOMME(SI(LISTE!$B$5:$B$9=RESTAURATION;LISTE!C5:C9;0))}

RESTAURATION étant une matrice définie dans le menu Insertion/Noms/Définir

Bonsoir à toutes et tous


Je vois pas le problème par rapport à la question...
Si tu veux les dépenses de restau. pour le mois 1 il te suffit d'ajouter un test
logique dans le SP :

=SOMMEPROD((A5:A9=1)*((B5:B9="hotel")+(B5:B9="restaurant"))*C5:C9)

Quid d'un rechercheTruc là-dedans ???

AV





Poulpor
Le #4463711
Merci à tous. Je verai cela au boulot demain : j'ai installé 2007 pour tester
chez moi et je n'arrive plus à m'y retrouver. Retrouver la boite de dialogue
des noms me prendraient environ 1 heure.


Dommage, j'aurais bien creuser la denière piste vés cette nuit.


bonjour

Une solution avec formules matricielles qui a l'air de fonctionner:
http://cjoint.com/?extLjBseTD

qui donnera se genre de formules:
={SOMME(SI(LISTE!$B$5:$B$9=RESTAURATION;LISTE!C5:C9;0))}

RESTAURATION étant une matrice définie dans le menu Insertion/Noms/Définir

Bonsoir à toutes et tous


Je vois pas le problème par rapport à la question...
Si tu veux les dépenses de restau. pour le mois 1 il te suffit d'ajouter un test
logique dans le SP :

=SOMMEPROD((A5:A9=1)*((B5:B9="hotel")+(B5:B9="restaurant"))*C5:C9)

Quid d'un rechercheTruc là-dedans ???

AV







AV
Le #4463651
Une solution avec formules matricielles qui a l'air de fonctionner:


Heu....
Il ne t'a pas échappé que SP induit un calcul matriciel et en plus, tu donc tu
pourras faire l'économie de la validation matricielle
Ceci dit, dans ta proposition, il manque un test logique (prise en compte du
mois de référence)...

AV

Publicité
Poster une réponse
Anonyme