Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
20-11-2005 - 8:29
Message
#1
|
|
|
Membre Groupe : Membres Messages : 1 Inscrit : 20-11-2005 Membre n° 8 345 |
Sous EXCEL, recherche méthode (macro# fonction?) me permettant de calculer dans une plage (ex. A1:A15) le nombre de cellule de couleur verte. En d'autres termes, s'il y a 15 cellules coloriées en vert dans la plage a1:a15 je veux obtenir 15. Merci d'avance au expert de ce forum.
|
|
|
|
21-11-2005 - 15:20
Message
#2
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
Hello.
Comme ceci par exemple : CODE Option explicit Il te suffit ensuite de sélectionner une colonne par exemple, et d'exécuter la macro.Dim NbrCelluleVerte as double, CelluleVerte as Range ------------------------------------------------------ Sub CalculCelluleVerte() NbrCelluleVerte = 0 For Each CelluleVerte In Selection If CelluleVerte.Interior.ColorIndex = 4 then NbrCelluleVerte = NbrCelluleVerte +1 End If Next Range("A1") = NbrCelluleVerte Enf sub Le nombre de cellules de couleur verte sera renseignée dans la cellule A1. Ce message a été modifié par Helger - 22-11-2005 - 5:57. -------------------- ![]() |
|
|
|
22-11-2005 - 1:59
Message
#3
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 970 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
A la rigueur, tu peux déclarer une variable en place de 'Selection' et lui attribuer un InputBox pour déclarer ce que tu veux controler.
CODE Dim i i As Variant i = MsgBox("Veuillez insérer la zone de contrôle", 1, "Saisie utilisateur") La variable déclarée remplacera le code comme celui-ci : CODE For Each CelluleVerte In i @ Helger > T'aurais pu déclarer le type de la variable 'CelluleVerte', tu m'aurais empeché de te critiquer -------------------- |
|
|
|
22-11-2005 - 3:39
Message
#4
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
Corrigé.
En sachant que ne pas renseigner le type de la variable la positionne automatiquement en variant (Ce que tu as fait.). Donc pas de différence. Méthode certes intéressante mais moins rapide que la mienne. Le mieux dans ce cas est aussi de renseigner la couleur. -------------------- ![]() |
|
|
|
22-11-2005 - 5:53
Message
#5
|
|
![]() Membre Groupe : Membres Messages : 130 Inscrit : 09-02-2005 Lieu : Lyon - France Membre n° 5 750 |
Bonjour A tous,
Loin de moi de vouloir critiquer Helger et Groumphy, Mais: CITATION If CelluleVerte.Interior.ColorIndex = 5 then 5 ne correspondrait pas à la couleur Bleu ??? 4 correspondrait selon moi à VERT. Webmicalement Laurent. |
|
|
|
22-11-2005 - 5:56
Message
#6
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
Vi, vi.
-------------------- ![]() |
|
|
|
22-11-2005 - 9:03
Message
#7
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 970 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Heu j'ai pas vérifié la couleur ...
Quant à la déclaration de variable, oui je suis d'accord que la déclaration 'sauvage' positionne automatiquement la variable en type Variant. Or ici ce n'étais pas nécessaire... Je suis totalement contre la déclaration à la 'sauvage'. Je préfère avoir un code propre et savoir à quoi s'en tenir. Cela montre aussi que l'on connais mieux le code, l'utilisation de la mémoire. Ici l'utilisation de la mémoire n'est pas si importante... Mais lorsque l'on a plusieurs dizaine de variable, cela devient une nécessité... -------------------- |
|
|
|
22-11-2005 - 9:11
Message
#8
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
Complétement d'accord, Groumph.
Simplement un oubli de ma part. -------------------- ![]() |
|
|
|
23-11-2005 - 4:20
Message
#9
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 970 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Bouge pas je sors le fouet
-------------------- |
|
|
|
23-11-2005 - 16:26
Message
#10
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
Ah, c'est toi qui l'as.
Je pensais que c'était Dol. -------------------- ![]() |
|
|
|
24-11-2005 - 1:30
Message
#11
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 970 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Non non ... C'est moi, Dolarcles l'usait de trop en autoflagelation. Donc confisqué
-------------------- |
|
|
|
25-11-2005 - 5:09
Message
#12
|
|
![]() Membre Groupe : Membres Messages : 130 Inscrit : 09-02-2005 Lieu : Lyon - France Membre n° 5 750 |
A propos de couleurs..
Quelqu'un pourrait-il me donner la liste de codes de toutes les couleurs d'Excel. Merci pour vos réponses. Laurent |
|
|
|
25-11-2005 - 5:58
Message
#13
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 970 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Tiens selon Cathy Astuce il existe une fonction SOMME_SI_COULEUR ... Bon à savoir.
On y retrouve aussi l'exemple de la Macro-commande fournie un peu plus haut... Quand aux couleurs elle est infinie car on peut la définir avec les RGB ... -------------------- |
|
|
|
25-11-2005 - 16:25
Message
#14
|
|
![]() Modérateur Groupe : Modérateurs Messages : 4 997 Inscrit : 18-01-2005 Lieu : Gaule Membre n° 5 492 |
CITATION(Groumphy @ 25-11-2005 - 11:58) Tiens selon Cathy Astuce il existe une fonction SOMME_SI_COULEUR ... Bon à savoir. Hum, c'est une création de fonction et non pas une fonction existante dans Excel. En gros, ils ont fait pareil que moi, sauf qu'ils l'ont créé en fonction. -------------------- ![]() |
|
|
|
26-11-2005 - 1:54
Message
#15
|
|
![]() Modérateur loufoque et linuxien Groupe : Modérateurs Messages : 2 970 Inscrit : 26-11-2002 Lieu : Bruxelles Membre n° 148 |
Heu oui oui ... J'ai lu en survol. En général je ne lis que très en diagonale et tutti quanti. Cela m'arrive
-------------------- ------------ |