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

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. 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