Somme des valeurs non barrées

Bonsoir à tous,

Je chercher désespérément à créer un application.volatile (car c'est à ma connaissance la seule solution) qui me permette de faire la somme d'une plage de cellule A1:A10 en ne prenant que les valeurs non barrées dans chacune des cellules de cette plage.

Une idée pour m'aider ?

Merci d'avance.

Cordialement,

Corsaire.

Bonsoir,

une fonction personnalisée

=sumns(range)

Function sumns(r As Range)
    Application.Volatile
    t = 0
    For Each c In r
        If c.Font.Strikethrough = False Then t = t + c.Value
    Next
    sumns = t
End Function

Bonsoir H2SO4,

Merci pour ton astuce. Cependant j'ai oublié de préciser que cette fonction "sumns" doit pouvoir calculer la somme d'une plage de cellules situées sur une autre feuille, du coup elle n'arrive pas a faire la différence entre les polices barrées et non barrées...

Lorsque j'utilise la fonction sumns pour calculer la somme d'une plage située sur la même feuille aucun soucis. Mais sur une autre, ça ne marche pas...

Corsaire.

Bonjour,

C'est vrai, c'est inattendu.

Ajoute sur la feuille de saisie :

Private Sub Worksheet_Deactivate()
    Sheets("Feuil1").Calculate
End Sub

Feuil1 étant la feuille avec la formule.

eric

Bonsoir,

chez moi cela fonctionne sans problème. As-tu bien inséré la fonction dans un module et nom dans le code de la feuille ?

Tu es sûr h2so4 ?

Si tu modifies les données en Feuil2 et que tu reviens sur Feuil1 où il y a la formule elle n'est pas ré-évaluée chez moi.

Avec la fonction dans un module standard bien entendu.

eric

Bonsoir Eriic

Tu as raison,

quand on change une valeur cela fonctionne, quand on barre une valeur cela ne fonctionne pas il faut lancer le recalcul.

ce qui est en fait logique (dans la logique d'excel), excel recalcule les cellules qui dépendent de cellules dont la valeur est modifiée mais pas celles dont le format a changé.

ta solution est donc une bonne piste. autre possibilité faire F9 pour lancer le recalcul.

Bonsoir à vous,

Tout d'abord je tiens à m'excuser pour ma réponse tardive, quelques petits soucis de santé.

Je reviens donc vers vous, car le code d'H2SO4 est ok, j'avais juste fait une bourde en recopiant ton code...

Cependant, il s'avère que le fait qu'un nombre soit barré ou pas relève d'une condition de cellule. C'est à dire que si ma condition est valide, mon nombre se barre automatique (formes conditionnelles). Et lorsque ce nombre est barré, il est tout de même pris en compte dans la somme de ma plage.

Je vous joins un fichier exemple pour plus de clarté.

Merci encore de votre patience.

Cordialement,

Corsaire.

64fonction-somme.xlsm (15.28 Ko)

Bonsoir,

dans le cas d'une somme basée sur une mise en forme conditionnelle, il se baser sur les éléments ( la formule) de la mise en forme conditionnelle.

exemple.

si ce que tu veux faire

si nombre < 0, barrer le nombre puis faire la somme des nombres non barrés

il faut simplifier l'étape de la mise en forme conditionnelle et revenir à la condition initiale pour faire la somme

faire la somme des nombres >0.

d'où ma question dans ta mfc, quelle est la condition qui fait qu'un nombre doit être barré ?

Bonsoir,

Je crois comprendre ce que tu me dis, mais j'en suis pas certain.

Ma condition est dans ma colonne F. Si j'ai oui, mon chiffre se barre. Sinon, il n'est pas barré (fait le test dans mon fichier tu vas comprendre tout de suite).

Corsaire.

Bonjour,

Dit autrement :

C'est très compliqué de récupérer le résultat d'une MFC, ce qu'on ne fait (presque) jamais.

Et beaucoup plus simple d'utiliser les même critères qu'elle :

=SOMME.SI(F2:F20;"<>oui";B2:B20)

ou bien :

=SOMME.SI.ENS(B2:B20;F2:F20;"<>oui")

ou bien :

=SOMMEPROD((F2:F20<>"oui")*(B2:B20))

eric

Bonsoir eric,

Pourquoi faire compliquer quand on peut faire simple ? Je te remercie beaucoup, tout est rentré dans l'ordre grâce à ton aide !

Bonne soirée à vous tous,

Corsaire.

Rechercher des sujets similaires à "somme valeurs barrees"