Addition cell en fonction des couleurs

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
Voila mon problème cela compte les cellules de couleurs mais pas le contenu
des cellules, pourriez vous m'aider s'il vous plait??
merci d'avance.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cellule As Range
Dim toto(56) As Integer
For Each cellule In Range("H5:AC64")
If cellule.Interior.ColorIndex > 0 Then
toto(cellule.Interior.ColorIndex) = toto(cellule.Interior.ColorIndex) + 1
End If

Next cellule

Range("D67").Value = toto(7)
Range("N67").Value = toto(4)
Range("D73").Value = toto(5)
Range("D69").Value = toto(38)
Range("D71").Value = toto(46)
Range("N71").Value = toto(6)

End Sub

A voir également:

2 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

si j'ai bien compris: on additionne les valeurs des cellules de m^me couleur, l'index de toto étant le numéro de la couleur?

si oui
essaies
Dim toto(1 to 56) As long  
dim total as long  
If cellule.Interior.ColorIndex > 0 Then  
     toto(cellule.Interior.ColorIndex) = Total + cellule.Value  
End If 


si tu ne le précise pas rtoto commence à zéro (le rouge=3 sera alors en toto(2))
remarque " au cas où" : "as long" car es tu sûr que la somme de tes integers ne dépassent pas 2^15 ?
Michel
0
Utilisateur anonyme
 
Bonjour,
If cellule.Interior.ColorIndex > 0 Then
toto(cellule.Interior.ColorIndex) = Total + cellule.Value
Cette ligne ne marche pas (erreur 13) merci pour ton aide
Pas besoin de preciser 1 to 56 les couleurs corresponde bien
pour le reste j'ai pas compris je suis novice...
Sinon tu as bien compris ce que je voulais faire:additionner dans
un tableau cellules comprise entre H5 et AC64 tous les nombres en fonction
des couleurs qui leurs sont imputé.
La routine fonctionne bien pour additionné les couleurs seulement, si vous
avez une idée je suis preneur.
merci d'avance...
0