Comptabiliser les cellules colorées uniquement et pas leurs contenus
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 mars 2009
-
19 déc. 2008 à 17:03
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 mars 2009
-
21 janv. 2009 à 16:40
Bonjour à tous,
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
Belag55
Messages postés20Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention13 février 2009 19 déc. 2008 à 20:12
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)
Belag55
Messages postés20Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention13 février 2009 19 déc. 2008 à 20:43
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"
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 mars 2009 20 déc. 2008 à 11:38
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?
Merci mille fois
Vous n’avez pas trouvé la réponse que vous recherchez ?
Belag55
Messages postés20Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention13 février 2009 20 déc. 2008 à 13:06
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
Belag55
Messages postés20Date d'inscriptionmercredi 17 décembre 2008StatutMembreDernière intervention13 février 2009 20 déc. 2008 à 13:41
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
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 mars 2009 21 janv. 2009 à 16:40
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