Somme conditionnelle sur le contenu d'une formule

Bonjour à tous,

J'ai un souci pour sommer des valeurs.

Il s'agit d'un tableau de comptes et j'aimerais sommer les valeurs qui proviennent de formule contenant une division.

Le but en qqs mots est de sommer les dépenses qui sont communes au foyer afin de distinguer les dépenses qui me sont propres de celles qui sont communes.

Ma réflexion est partie sur les cases contenant un signe "/". Chaque dépense est soit indiquée directement si elle m'est propre, soit calculée si elle est à diviser : "=18/2" par exemple.

J'ai testé d'abord la solution de mise en forme conditionnelle + VBA :

- mise en forme conditionnelle qui balaye les cases de la feuille, et vérifie s'il y a un signe "/", et si oui, surligne la case en jaune.

(La formule mise dans le MFC est la suivante =(ESTNUM(CHERCHE("/";FORMULETEXTE(A1);1))) )

ça marche très bien sauf que ...

- j'ai ensuite essayé de construire une macro pour sommer les cases qui sont en jaune. Sauf que là j'ai appris que la MFC n'était pas "repérable" par VBA.

J'ai ensuite essayé de me rabattre sur une solution 100% formule, avec un somme.si, mais je n'arrive pas à la finaliser.

Et enfin, peut-être qu'une solution 100% VBA serait plus simple : on détecte le signe "/" dans les cases et si le signe est présent on additionne la valeur et on présente la somme dans une case du tableau ?

Je rame un peu beaucoup...

Merci d'avance pour votre aide.

Bonne soirée.

Bonjour,

Peux-tu joindre un fichier test representatif de ton problème ? Ca sera plus facile pour tout le monde car autrement le forum ne dispose pas de support pour travailler et tester d'éventuelles solutions.

Merci,

Cordialement,

Vbabeginner

Bonsoir et bienvenue sur le forum !

Si l'organisation de votre feuille fait que les dépenses communes font l'objet d'une colonne distincte, le fichier joint vous donnera peut-être une piste de réflexion.

Un fichier exemple permettrait aux membres de la communauté de vous apporter une solution précise.

Bonjour,

Un exemple à étudier et à adapter si besoin.

Cdlt.

Public Sub DEMO()
Dim Rng As Range, Cell As Range
Dim n As Long
Dim dSum As Double
    Application.ScreenUpdating = False
    Set Rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas, xlNumbers)
    For Each Cell In Rng
        With Cell
            .Interior.Color = xlNone
            n = InStr(.Formula, "/")
            If n > 0 Then
                Cell.Interior.Color = RGB(255, 255, 0)
                dSum = dSum + Cell.Value
            End If
        End With
    Next Cell
    MsgBox dSum
End Sub

Bonsoir merci pour vos réponses rapides,

en effet c'est mieux avec un fichier excel, j'ai fait un fichier avec la mise en forme conditionnelle + la macro qui aurait renvoyé la somme des cases jaunes si les cases n'avaient pas été gérés par MFC... (je pense).

Je regarde de suite la proposition de Jean-Eric pour voir.

Merci.

RE,

Sans MFC.

Cdlt.

Bonjour à tous,

Une autre proposition à appliquer au fichier exemple fourni :

=SOMMEPROD((ESTFORMULE(B1:B12)*B1:B12))

Cette formule somme les dépenses communes.

Bonjour,

J'ai cherché une solution différente de celles proposées mais elle est un peu tirée par les cheveux

Avec une colonne intermédiaire tu peux faire la somme des cellules d'une certaine couleur. Il faudra juste encore ajouter une petite macro pour rafraichir les données.

Le principe : utilisation de la la fonction XL4 lire.cellule ( voir gestionnaire des noms - je l'ai dit un peu tiré par les cheveux mais qui apporte une réponse à ton tout premier post )

Cordialement,

Vabebginner

VBABEGINNER a écrit :

J'ai cherché une solution différente de celles proposées mais elle est un peu tirée par les cheveux

C'est, à mon sens, un des aspects intéressants du forum : Phosphorer dans tous les sens !

Bonjour,

@ JFL : je trouve aussi ! J'adore voir VBA affronter les formules ! Je m'en délecte toujours !

Cordialement,

Vbabeginner

Génial !!

En effet, plein de solutions différentes à tester c'est super.

Je découvre aussi la formule ESTFORMULE() j'ai un peu honte de pas l'avoir trouvée + tôt !

Merci beaucoup à tous pour votre aide, je pense que je vais rester sur la formule et non sur la macro, je la trouve facile à mettre en place.

Bonne soirée à tous, merci encore.

Sur la réponse qui vous semble la plus appropriée....

Rechercher des sujets similaires à "somme conditionnelle contenu formule"