Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA pour rechercher des cellules et copier des sommes

6 réponses
Avatar
Bru
Bonjour,
Je suis un peu perdue car je n'arrive pas à écrire la macro suivante :
J'ai 3 feuilles intitulées "dépenses","OD" et "balance".
La colonne A de la feuille "balance" contient une liste de numéros de
comptes.
Pour la feuille "dépenses" : la colonne D contient des montants associés aux
numéros de comptes figurant dans la colonne H
Pour la feuille "OD" : les colonnes C et D contiennent des montants associés
aux numéros de comptes figurant dans la colonne E.
Je voudrai que la macro puisse inscrire dans la colonne C de la feuille
"balance" (sur la même ligne que les comptes correspondants) la somme des
montants des feuilles "dépenses" et "OD" qui correspondent à ces mêmes
numéros de compte.
Il n'y a pas de numéro de compte commun aux 2 feuilles, mais la difficulté
se trouve dans la feuille "OD" car elle comporte 2 colonnes de montants : il
faut effectuer la somme des montants pour chacune des 2 colonnes (par numéro
de compte) puis soustraire ces sommes et inscrire la valeur absolue du
montant final dans la colonne C de la feuille "balance".

6 réponses

Avatar
Bru
... Je remercie d'avance toute personne qui pourrait m'aider à résoudre
cette macro (j'ai essayé d'apprendre le VBA mais je suis complètement
perdue)

"Bru" a écrit dans le message de
news:c4jq0r$lm3$
Bonjour,
Je suis un peu perdue car je n'arrive pas à écrire la macro suivante :
J'ai 3 feuilles intitulées "dépenses","OD" et "balance".
La colonne A de la feuille "balance" contient une liste de numéros de
comptes.
Pour la feuille "dépenses" : la colonne D contient des montants associés
aux

numéros de comptes figurant dans la colonne H
Pour la feuille "OD" : les colonnes C et D contiennent des montants
associés

aux numéros de comptes figurant dans la colonne E.
Je voudrai que la macro puisse inscrire dans la colonne C de la feuille
"balance" (sur la même ligne que les comptes correspondants) la somme des
montants des feuilles "dépenses" et "OD" qui correspondent à ces mêmes
numéros de compte.
Il n'y a pas de numéro de compte commun aux 2 feuilles, mais la difficulté
se trouve dans la feuille "OD" car elle comporte 2 colonnes de montants :
il

faut effectuer la somme des montants pour chacune des 2 colonnes (par
numéro

de compte) puis soustraire ces sommes et inscrire la valeur absolue du
montant final dans la colonne C de la feuille "balance".




Avatar
ru-th
Salut

pas testé
sans macro en c1 de la feuille balance

=somme((dépenses!h1:h500¡)*(dépenses!d1:d500))+somme((od!e1:e500¡)*(od!c
1:d500))
validation matricielle ctrl+maj+entrée

a+
rural thierry
"Bru" a écrit dans le message de news:
c4jq0r$lm3$
Bonjour,
Je suis un peu perdue car je n'arrive pas à écrire la macro suivante :
J'ai 3 feuilles intitulées "dépenses","OD" et "balance".
La colonne A de la feuille "balance" contient une liste de numéros de
comptes.
Pour la feuille "dépenses" : la colonne D contient des montants associés
aux

numéros de comptes figurant dans la colonne H
Pour la feuille "OD" : les colonnes C et D contiennent des montants
associés

aux numéros de comptes figurant dans la colonne E.
Je voudrai que la macro puisse inscrire dans la colonne C de la feuille
"balance" (sur la même ligne que les comptes correspondants) la somme des
montants des feuilles "dépenses" et "OD" qui correspondent à ces mêmes
numéros de compte.
Il n'y a pas de numéro de compte commun aux 2 feuilles, mais la difficulté
se trouve dans la feuille "OD" car elle comporte 2 colonnes de montants :
il

faut effectuer la somme des montants pour chacune des 2 colonnes (par
numéro

de compte) puis soustraire ces sommes et inscrire la valeur absolue du
montant final dans la colonne C de la feuille "balance".




Avatar
Bru
Merci mais ça ne marche pas !

Quelqu'un aurait il une idée ?
merci

"ru-th" a écrit dans le message de
news:
Salut

pas testé
sans macro en c1 de la feuille balance


=somme((dépenses!h1:h500¡)*(dépenses!d1:d500))+somme((od!e1:e500¡)*(od!c

1:d500))
validation matricielle ctrl+maj+entrée

a+
rural thierry
"Bru" a écrit dans le message de news:
c4jq0r$lm3$
Bonjour,
Je suis un peu perdue car je n'arrive pas à écrire la macro suivante :
J'ai 3 feuilles intitulées "dépenses","OD" et "balance".
La colonne A de la feuille "balance" contient une liste de numéros de
comptes.
Pour la feuille "dépenses" : la colonne D contient des montants associés
aux

numéros de comptes figurant dans la colonne H
Pour la feuille "OD" : les colonnes C et D contiennent des montants
associés

aux numéros de comptes figurant dans la colonne E.
Je voudrai que la macro puisse inscrire dans la colonne C de la feuille
"balance" (sur la même ligne que les comptes correspondants) la somme
des


montants des feuilles "dépenses" et "OD" qui correspondent à ces mêmes
numéros de compte.
Il n'y a pas de numéro de compte commun aux 2 feuilles, mais la
difficulté


se trouve dans la feuille "OD" car elle comporte 2 colonnes de montants
:


il
faut effectuer la somme des montants pour chacune des 2 colonnes (par
numéro

de compte) puis soustraire ces sommes et inscrire la valeur absolue du
montant final dans la colonne C de la feuille "balance".








Avatar
FxM
Bonsoir Bru,

Pour reprendre les traces de ru-th :o) sans macro. Les formules sont à
écrire dans la feuille "balance". Il convient de faire attention aux
décalages lors des recopies de formules dans la feuille.

Pour la feuille "dépenses" : (formule 1)
La colonne D contient des montants associés aux numéros de comptes
figurant dans la colonne H]
=sommeprod((dépenses!d1:d500¡)*(dépenses!h1:h500))

Pour la feuille "OD" :
[les colonnes C et D contiennent des montants associés aux numéros de
comptes figurant dans la colonne E.]
Là, je n'ai pas tout suivi (disons que la compta n'est pas mon fort).

Pour additionner les colonnes D et E : (formule 2)
=(sommeprod((od!c1:c500¡)*(od!e1:e500))+sommeprod((od!d1:d500¡)*(od!e1:e500)))

Pour soustraire E de D : (formule 3)
=(sommeprod((od!c1:c500¡)*(od!e1:e500))-sommeprod((od!d1:d500¡)*(od!e1:e500)))

Enfin, pour prendre la valeur absolue :
«s(som...)

Ca devrait donner une chose comme :
= formule 1 - abs(formule 2)
ou bien :
= formule 1 - abs(formule 3)

Notes importantes :
- s'il y a beaucoup de lignes et de formules car ça peut ramer sec
- il est indispensable que le nombre de lignes soit le même dans la
partie sommeprod(...) sinon erreur

N'hésite pas à repasser si tu as des problèmes.

@+
FxM
Avatar
Bru
Merci c'est sympa mais en fait j'ai dû mal m'exprimer, cela sera plus simple
si j'explique ce que je fais manuellement :

Pour la feuille "dépenses", je fais un tri sur la colonne des numéros de
compte, de sorte que je puisse ensuite calculer le total des montants de la
colonne D qui correspondent au même numéro de compte.
J'inscrit chaque total de chaque numéro de compte dans la feuille "balance",
sur la ligne du même numéro de compte.
Meme chose pour la feuille "OD".

Je voudrai donc faire ceci en automatique sans modifier mes feuilles (sans
tri manuel) pour gagner du temps, car je créé régulièrement des nouvelles
lignes en dépense ou OD, avec des numéros de compte différents.

C'est pour cela que je penchais plutôt pour du VBA (par exemple en stockant
la valeur "numero de compte" dans une variable, puis en effectuant la
recherche de celle-ci dans la feuille "dépenses", puis en additionnant le
montant qui correspond à ce numéro de compte, etc...

Merci







"FxM" a écrit dans le message de
news:%
Bonsoir Bru,

Pour reprendre les traces de ru-th :o) sans macro. Les formules sont à
écrire dans la feuille "balance". Il convient de faire attention aux
décalages lors des recopies de formules dans la feuille.

Pour la feuille "dépenses" : (formule 1)
La colonne D contient des montants associés aux numéros de comptes
figurant dans la colonne H]
=sommeprod((dépenses!d1:d500¡)*(dépenses!h1:h500))

Pour la feuille "OD" :
[les colonnes C et D contiennent des montants associés aux numéros de
comptes figurant dans la colonne E.]
Là, je n'ai pas tout suivi (disons que la compta n'est pas mon fort).

Pour additionner les colonnes D et E : (formule 2)

=(sommeprod((od!c1:c500¡)*(od!e1:e500))+sommeprod((od!d1:d500¡)*(od!e1:e

500)))

Pour soustraire E de D : (formule 3)

=(sommeprod((od!c1:c500¡)*(od!e1:e500))-sommeprod((od!d1:d500¡)*(od!e1:e

500)))

Enfin, pour prendre la valeur absolue :
«s(som...)

Ca devrait donner une chose comme :
= formule 1 - abs(formule 2)
ou bien :
= formule 1 - abs(formule 3)

Notes importantes :
- s'il y a beaucoup de lignes et de formules car ça peut ramer sec
- il est indispensable que le nombre de lignes soit le même dans la
partie sommeprod(...) sinon erreur

N'hésite pas à repasser si tu as des problèmes.

@+
FxM


Avatar
AV
Jette un oeil sur le TCD (tableau croisé dynamique) ?

AV