Somme des cellules en couleurs différentes
Bonsoir
je veux juste apprendre comment additionner ou multiplier les cellules en couleur dans une colonne ou dans plusieurs colonnes différentes.
la formule est =smommeSicouleur(plage; code couleur) juste ou faux
si c'est juste je veux savoir quels sont les codes des couleurs.
merci
Un premier élément de réponse.
Solution d'Amadéus :
https://www.excel-pratique.com/~files/doc/K6U3FCouleurs.xls
Cordialement
Bernard
Bonsoir
regarde cela:
http://boisgontierjacques.free.fr/pages_site/fonctioncouleurfond.htm
et ensuite cela: (trouvé sur excel download)
https://www.excel-pratique.com/~files/doc2/couleur.xls
j'espers que ca va t'aller
Cordialement
Bonjour à tous
voici un petit fichier avec des exemples.
3 fonctions personnalisées qui permettent de faire des calculs sur les différents formats d'une cellule (Fonte de caractères ou fond de la cellule)
Elle permettent aussi de travailler sur des plages discontinues ou multi-feuilles.
ces fonction renvoient des matrices, donc l'utilisation de formules matricielles est impératif.
A chaque fois que je fais la formule le résultat s'affiche comme suit #NOM
même les fichiers que vous avez envoyé le résultat s'affiche comme précedemment mentionné.
merci de me clarifier le problème
Salut le forum
Houshous, il faut recopier le code des macros, pas juste la formule.
Et est-ce que tes macros sont activées ?
Dans le module fonctions
Option Explicit
'
Public Function M_Cellule(Target As Range) As Variant
Application.Volatile
Dim tablo(1 To 10) As Variant
tablo(1) = Target.Font.Bold
tablo(2) = Target.Font.ColorIndex
tablo(3) = Target.Font.FontStyle
tablo(4) = Target.Font.Italic
tablo(5) = Target.Font.Strikethrough
tablo(6) = Target.Font.Underline
tablo(7) = Target.Interior.ColorIndex
tablo(8) = Target.Interior.Pattern
tablo(9) = Target.Interior.PatternColorIndex
tablo(10) = Target.NumberFormat
M_Cellule = tablo
End Function
'
Public Function M_Format(ByVal gw_typ As Integer, plage As Range, Optional feuilles As String = "") As Variant
Dim gw_c As Range, i As Long, j As Integer, tablo() As Variant, maplage As Range
Dim feuille1 As String, feuille2 As String
Application.Volatile
If gw_typ < 1 Or gw_typ > 10 Then M_Format = "#ERREUR": Exit Function
i = -1
If feuilles = "" Then feuilles = ActiveSheet.Name & ":" & ActiveSheet.Name
feuille1 = Left(feuilles, InStr(feuilles, ":") - 1)
feuille2 = Right(feuilles, Len(feuilles) - InStr(feuilles, ":"))
For j = ActiveWorkbook.Sheets(feuille1).Index To ActiveWorkbook.Sheets(feuille2).Index
Set maplage = ActiveWorkbook.Sheets(j).Range(plage.Address)
For Each gw_c In maplage
i = i + 1
ReDim Preserve tablo(i)
tablo(i) = M_Cellule(gw_c)(gw_typ)
Next
Next j
M_Format = tablo
End Function
Function M_Charge(plage As Range, Optional feuilles As String = "") As Variant
Dim cel As Range, i As Long, j As Integer, tablo() As Variant
Dim feuille1 As String, feuille2 As String, maplage As Range
Application.Volatile
i = -1
If feuilles = "" Then feuilles = ActiveSheet.Name & ":" & ActiveSheet.Name
feuille1 = Left(feuilles, InStr(feuilles, ":") - 1)
feuille2 = Right(feuilles, Len(feuilles) - InStr(feuilles, ":"))
For j = ActiveWorkbook.Sheets(feuille1).Index To ActiveWorkbook.Sheets(feuille2).Index
Set maplage = ActiveWorkbook.Sheets(j).Range(plage.Address)
For Each cel In maplage
i = i + 1
ReDim Preserve tablo(i)
tablo(i) = Sheets(j).Cells(cel.Row, cel.Column).Value
Next
Next j
M_Charge = tablo
End Function ' Ecrite le 16/09/2008 par Wilfried_42Mytå