Aide - Recherche - Membres - Calendrier
Version complète : Fonction ou macro excel
Trucs et astuces Express > Discussions Informatique > Microsoft Office 2003 / 2007 > Excel
RUN FASTER
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. blink.gif
Helger
Hello.
Comme ceci par exemple :

CODE
Option explicit

         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
Il te suffit ensuite de sélectionner une colonne par exemple, et d'exécuter la macro.
Le nombre de cellules de couleur verte sera renseignée dans la cellule A1. icon_wink.gif
Groumphy
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 icon_mrgreen.gif
Helger
Corrigé. tongue.gif

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. tongue.gif

Méthode certes intéressante mais moins rapide que la mienne. tongue.gif

Le mieux dans ce cas est aussi de renseigner la couleur. tongue.gif

tongue.gif tongue.gif tongue.gif tongue.gif tongue.gif

icon_mrgreen.gif

icon_wink.gif
wildpegase
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.
Helger
Vi, vi. icon_mrgreen.gif

tongue.gif

whistling.gif

icon_wink.gif
Groumphy
Heu j'ai pas vérifié la couleur ... blink.gif Que la procédure...

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é...
Helger
Complétement d'accord, Groumph.
Simplement un oubli de ma part. icon_wink.gif
Groumphy
Bouge pas je sors le fouet icon_mrgreen.gif
Helger
Ah, c'est toi qui l'as.
Je pensais que c'était Dol. icon_mrgreen.gif
Groumphy
Non non ... C'est moi, Dolarcles l'usait de trop en autoflagelation. Donc confisqué tongue.gif
wildpegase
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. cool.gif


Laurent
Groumphy
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 ...
Helger
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. icon_wink.gif
Groumphy
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 icon_smile.gif
Zazou
Bonjour

enfin re pour ceux qui ont lut mon sujet poster plutôt

Je crois que grâce à ce sujet ci j'ai trouvé de quoi m'aider un minimum, mais par contre; le programme marche mais je sais pas comment lui demander la bonne couleur j'ai essayé un paquet de vert différents et il les voit pas...

Un coup de pouce serai sympa surtout que moi aprés je dois faire la meme chose avec le jeune et le rouge...
Et donc ou puis je trouver les code couleurs correspondant?


Merci par avance

Zazou
michel_m
Bonjour tout le monde,

Pour les codes des couleurs: tableau trouvé sur le net il y a ben longtemps

http://cjoint.com/?fosUXt7dLx

mais pour les codes "colorindex" une tite macro tout' simp' permet de donner le code(numéro de ligne)

CODE
Sub colorier()
i = 1
While i < 57
Cells(i, 1).Interior.ColorIndex = i
i = i + 1
Wend
End Sub
Zazou
Meri beaucoup

Sympa la petite macro pour les couleurs, je vais la stocker dans un coin


Merci Zazou
Ceci une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.