Trucs et astuces Express - L'aide informatique au bout des doigts!

Bienvenue invité ( Connexion | Inscription )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Fonction ou macro excel
RUN FASTER
posté 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. blink.gif
Go to the top of the page
 
+Quote Post
Helger
posté 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

         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

Ce message a été modifié par Helger - 22-11-2005 - 5:57.


--------------------
Go to the top of the page
 
+Quote Post
Groumphy
posté 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 icon_mrgreen.gif


--------------------
----------------------------------
Blog (Archives)
Go to the top of the page
 
+Quote Post
Helger
posté 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é. 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


--------------------
Go to the top of the page
 
+Quote Post
wildpegase
posté 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.
Go to the top of the page
 
+Quote Post
Helger
posté 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. icon_mrgreen.gif

tongue.gif

whistling.gif

icon_wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Groumphy
posté 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 ... 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é...


--------------------
----------------------------------
Blog (Archives)
Go to the top of the page
 
+Quote Post
Helger
posté 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. icon_wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Groumphy
posté 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 icon_mrgreen.gif


--------------------
----------------------------------
Blog (Archives)
Go to the top of the page
 
+Quote Post
Helger
posté 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. icon_mrgreen.gif


--------------------
Go to the top of the page
 
+Quote Post
Groumphy
posté 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é tongue.gif


--------------------
----------------------------------
Blog (Archives)
Go to the top of the page
 
+Quote Post
wildpegase
posté 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. cool.gif


Laurent
Go to the top of the page
 
+Quote Post
Groumphy
posté 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 ...


--------------------
----------------------------------
Blog (Archives)
Go to the top of the page
 
+Quote Post
Helger
posté 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. icon_wink.gif


--------------------
Go to the top of the page
 
+Quote Post
Groumphy
posté 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 icon_smile.gif


--------------------
------------