Voilà je travail avec un tableau Excel (2002 SP3), je souhaite comptabiliser les cellules colorées uniquement et pas leurs contenus. Est-ce faisable?
Attention j'utilise 3 sortes de couleurs (bleu, vert et rouge). Il faudra donc que le programme différenties les 3 couleurs et comptabilise uniquement les cellules de la même couleur.
Avez-vous une solution à me proposer?
Je reste à votre disposition si vous avez des questions
Merci d'avance
A voir également:
Comptabiliser les cellules colorées uniquement et pas leurs contenus
Voila, au vu des renseignements que tu m'as communiqué, voici un code qui fonctionne. Je suis débutant aussi, donc ce n'est peut être pas le meilleurs code possible, mais ça marche (j'ai testé).
Je t'ai placé un max de "rem" pour t'expliquer chaque étape du code. il ne te reste qu'à faire un copier / coller à partir de "Option Explicit" et ça roule. Si tu dois modifier ton tableau, il te faudra modifier le code comme suit :
- si tu changes l'origine du tableau, remplace D2 par la nouvelle valeur dans la ligne : Range("D2").Select- si ton tableau à plus de colonnes (31 à l'heure actuelle), remplace le 30 de la ligne : For i 0 To 30 par le nouveau nombre de colonnes -1 (For i 0 to 40 pour 41 colonnes par exemple).
- si ton tableau à plus de lignes, fait de même en remplaçant le 3 de : For j = 0 To 3 par le nouveau nombre de lignes - 1.
le reste se fera tout seul : les résultats iront se coller 2 colonnes plus loins quel que soit le nombre de colonnes (sauf si tu arrives au bout d'excel ) et pareil pour les résultatas en ligne.
Option Explicit
Dim bleu, rouge, vert, totbleu, totvert, totrouge, i, j As Byte '*** définition des variables comme valeur numériques de 0 à 255
For i = 0 To 30
If ActiveCell.Offset(j, i).Interior.ColorIndex = 8 Then
bleu = bleu + 1
ElseIf ActiveCell.Offset(j, i).Interior.ColorIndex = 4 Then
vert = vert + 1
ElseIf ActiveCell.Offset(j, i).Interior.ColorIndex = 3 Then
rouge = rouge + 1
End If
Next i
'*** cumul des valeurs des couleurs (pour un total général)
hmmm je post trop vite moi, car ce que j'ai écris plus haut s'applique aussi aux autres variables. En effet dès qu'une variable dépasse 255 il faut la changer en "long"
Ok ça fonctionne! par contre je souhaite maintenant qu'il m'affiche le résultat global en prenant tout le tableau (de D:2 et D:5 à GG:2 GG:5) dans les cases GP, GQ et GR. Quelle est la manip pour modifier cela dans le programme?
C'est expliqué dans le dernier post.
Compte le nombre de colonnes de ton tableau et reduit ce nombre de 1 et remplace le nombre 30 de la ligne :
For i = 1 to 30 par le nouveau nombre.
Pour un tableau de 50 colonnes, tu devras donc écrire : For i = 1 to 49
C'est expliqué dans mon premier post.
Compte le nombre de colonnes de ton tableau et reduit ce nombre de 1 et remplace le nombre 30 de la ligne :
For i = 1 to 30 par le nouveau nombre.
Pour un tableau de 50 colonnes, tu devras donc écrire : For i = 1 to 49
Re-bonjour,
Je suis de retour avec un tableau de même type cad que je souhaite qu'un résultat s'affiche dans 2 cases (en V:4 et W:5), après avoir définie uniquement les 2 couleurs d'une colonne T de la ligne 4 à 50.
Quelqu'un a t'il une solution. Je reste à votre dispostion si vous avez des questions.
Merci