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

Addition et police barrée

5 réponses
Avatar
DoMi
Bonjour,

Est-il possible de ne pas tenir compte, dans une addition, des
cellules dont la police est barr=E9e ou d'une certaine couleur?

Merci

5 réponses

Avatar
LSteph
Bonjour,

Il vaudrait mieux éviter même l'utilisation de ce genre de fonction:

Function SumRouge(plg As Range)
Application.Volatile
Dim c As Range
For Each c In plg.Cells
If IsNumeric(c.Value) And c.Interior.ColorIndex <> 3 Then
SumRouge = SumRouge + c.Value
End If
Next c
End Function

est possible mais cela oblige à rappuyer sur F9 à chaque changement ou
mobilise une automatisation perpétuelle , cyclique ou systématique du
recalcul .
Pourquoi cela... tout simplement parceque la modification d'un format
ne génère pas naturellement un recalcul.
Pour y palier on peut utiliser plusieurs évènements en VBA ou bien
plus radicalement un Ontime pour que cela recalcule tout les
secondes par exemple ainsi si tu change un format l'addition se
recalculerait. Mais même quand tu n'en a plus besoin cet event sera
sollicité.. autre event possible le changement de selectio
exemple dans le thisworkbook

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
Calculate
End Sub

Ainsi des que tu change de cellule (apres coloriage) le calcul se
refait.

Il demeure nettement préférable amha de déterminer la condition selo n
laquelle on aurait envie de barrer ou colorer certains et ainsi
conditionner le calcul.

Exemple faire la somme de f qd B est sup à 0:

=sommeprod(($B$2:$B$100>0)*($F$2:$F$100))

Ce qui n'empêchera pas d'agrémenter l'aspect visuel au moyen d'une
MEFC qui colore en rouge les lignes ou B serait inf à zero.

Cordialement.


--
LSteph





On Nov 3, 10:10 am, DoMi wrote:
Bonjour,

Est-il possible de ne pas tenir compte, dans une addition, des
cellules dont la police est barrée ou d'une certaine couleur?

Merci
Avatar
DoMi
On 3 nov, 12:29, LSteph wrote:
Bonjour,

Il vaudrait mieux éviter même l'utilisation de ce genre de fonction:

Function SumRouge(plg As Range)
Application.Volatile
Dim c As Range
For Each c In plg.Cells
 If IsNumeric(c.Value) And c.Interior.ColorIndex <> 3 Then
  SumRouge = SumRouge + c.Value
 End If
Next c
End Function

est possible mais cela oblige à rappuyer sur F9 à chaque changement o u
mobilise une automatisation perpétuelle ,  cyclique ou systématique du
recalcul .
Pourquoi cela... tout simplement parceque la modification d'un format
ne génère pas naturellement un recalcul.
Pour y palier on peut utiliser plusieurs évènements en VBA  ou bien
plus radicalement  un Ontime pour que cela recalcule tout  les
secondes par exemple ainsi si tu change un format l'addition se
recalculerait. Mais même quand  tu n'en a plus besoin cet event sera
sollicité.. autre event possible le changement de selectio
exemple dans le thisworkbook

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal
Target As Range)
Calculate
End Sub

Ainsi des que tu change de cellule (apres coloriage) le calcul se
refait.

Il demeure nettement préférable amha  de déterminer la condition selon
laquelle on aurait envie de barrer  ou colorer certains et ainsi
conditionner le calcul.

Exemple faire la somme de f qd B est sup à 0:

 =sommeprod(($B$2:$B$100>0)*($F$2:$F$100))

Ce qui n'empêchera pas d'agrémenter l'aspect visuel au moyen d'une
MEFC qui colore en rouge les lignes ou B serait inf à zero.

Cordialement.

--
LSteph

On Nov 3, 10:10 am, DoMi wrote:



> Bonjour,

> Est-il possible de ne pas tenir compte, dans une addition, des
> cellules dont la police est barrée ou d'une certaine couleur?

> Merci- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Merci, ça me convient tout à fait !

Voilà ce que je souhaite faire:
En colonne A, j'ai des noms de 10 produits,
en colonne B, les prix de ces produits, avec le total en bas, en B11
Pour voir le montant total de ma commande, suivant que je choisis tel
ou tel produit, je barre ceux que j'écarte en copiant le format d'une
cellule de référence avec le bouton de reproduction de la mise en
forme. Les prix sont donc visibles, mais barrés. Si je change d'avis,
je "débarre"...

J'ai mis en B11 : = Sum_Police(B1:B10)

et dans un module:

Function Sum_Police(Plg As Range) As Double
Dim C As Range
For Each C In Plg.Cells
If C.Font.Strikethrough = False Then
Sum_Police = Sum_Police + C.Value
End If
Next
End Function

Le calcul est automatique dès que je modifie le format de la police.

Merci pour ton aide !
DoMi
Avatar
LSteph
Quelle version??

Le calcul est automatique dès que je modifie le format de la police.

Merci pour ton aide !
DoMi
Avatar
DoMi
On 3 nov, 14:12, LSteph wrote:
Quelle version??



> Le calcul est automatique dès que je modifie le format de la police.

> Merci pour ton aide !
> DoMi- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Oui, j'aurais pu commencer par ça : Excel 2003.
Avatar
Gloops
DoMi a écrit, le 03/11/2011 10:10 :
Bonjour,

Est-il possible de ne pas tenir compte, dans une addition, des
cellules dont la police est barrée ou d'une certaine couleur?

Merci



Oui, comme l'a montré LSteph, mais il a raison, ça risque d'être
grandement plus simple de créer une troisième colonne entre les deux,
qui contient vrai ou faux. ça mérite aussi un traitement complément aire,
un format conditionnel est le plus rapide à mettre en place pour mettre
la sélection plus en évidence, mais ça oblige à saisir la valeur (vrai
ou faux) dans la cellule de sélection. On peut aussi mettre une case à
cocher par ligne, si je ne suis pas trop en retard c'est plus long à fa ire.