Addition cell en fonction des couleurs

Fermé
Utilisateur anonyme - 13 mai 2011 à 23:11
 Utilisateur anonyme - 16 mai 2011 à 13:00
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



2 réponses

michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 23 mars 2023 3 293
Modifié par michel_m le 14/05/2011 à 09:47
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
16 mai 2011 à 13:00
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