|
|
|
|
VincentG, le mardi 27 novembre 2007 à 13:25:50Sub CompteCouleurs()
Dim rngCell As Range
Dim intNbCouleurs As Integer
For Each rngCell In Range("A1:G30").Cells
If rngCell.Interior.ColorIndex = 3 Then
intNbCouleurs = intNbCouleurs + 1
End If
Next
MsgBox intNbCouleurs & " cellules rouges"
End Sub
C'est normal :
Quand tu appliques un format, cette caractéristique est attachée à la cellule. Quand tu demandes une mise en forme conditionnelle, le format est calculé en fonction du contenu. Un retraité au soleil des Antilles :-) Raymond |
Comment pourrais-je donc faire ?
après une mise en forme conditionnelle, ma cellule a bien un nouveau format... la macro pourrait bien détecter celui là Tchou Tchou |
quelqu'un pourrait 'il m'éclairer un peu ? |
bazutalors :( |
baflutalors :( |
Bonsoir,
teste la couleur de ta cellule avec ça: Sub Couleur()
MsgBox (ActiveCell.Interior.ColorIndex)
End Sub
ce n'est peut-être pas le rouge 3... eric |
nop, le rouge est bien le chiffre 3 |
Bonjour,
Il n'y a aucune raison pour que la macro mise dans ton post 1 fonctionne différemment que la couleur soit mise par mise en forme automatique ou manuellement. D'ailleurs ce n'est pas plutôt de mise en forme conditionnelle que tu veux parler ? De toute façon ça ne change rien... Ta macro compte les cellules à fond rouge (3) de la plage désignée. Je te l'ai modifiée et mise sous forme de fonction personnalisée. Function CompteCouleurs(Plage As Range, CouleurFond As Range) As Long
Dim cel As Range
Dim NbCouleurs As Long, couleur As Long
couleur = CouleurFond.Interior.ColorIndex
For Each cel In Plage
NbCouleurs = NbCouleurs + (cel.Interior.ColorIndex = couleur)
Next
CompteCouleurs = -NbCouleurs
End Function
A coller dans un module. Quand tu fais 'insertion' 'fonction' 'personnalisées' elle te demande 2 parametres : - la plage à étudier - une cellule ayant le fond de la couleur à compter et elle te retourne le nombre de cellules de la plage ayant cette couleur de fond. Comme ça plus de pb, tu désignes toi même la couleur directement sur la feuille eric |
Merci pour ton aide, mais le "hic", bien que j'ai fais ce que tu m'as dis point par point, ça ne marche pas.
le résultat = #VALEUR! je ne vois pas d'où ça peut venir... ça a marché chez toi ? Vincent |
Oui, bien sûr que ça marche chez moi.
Ca commence à faire bcp de trucs qui devrait marcher sans difficulté... Pour la fonction désigne la plage et la cellule avec la souris pour éviter des saisies erronées Quelle version d'excel as tu ? Il faudrait 2003 ou plus eric |
J'essayerai chez moi ce soir
là, je suis au boulot, j'ai une version de 97... :) Merci encore de m'avoir aidé Vincent |
Malheureusement, ça ne marche pas
Est ce que quelqu'un d'autre peut essayer de voir si ça marche chez lui ? merci |
Décris ce que tu fais et ce que te retourne la fonction, "ça ne marche pas" n'est pas explicite...
L'as-tu bien mise dans un module et arrives-tu à l'appeler déjà ? eric PS: voici un exemple http://www.cijoint.fr/cij61969428533151.xls si ça ne marche tjs pas chez toi précise ta version et quel est le pb |
voilà ce que je fais :
je copie ton code j'ouvre ma feuille excel alt+F11 pour VBA insertion / Module je colle je ferme. je clique sur une cellule vierge insérer fonction/ personnalisée / CompteCouleur Plage ==> sélection à la souris de la zone à traiter Couleur ==> chiffre n°3 (couleur rouge) OK puis apparait #VALEUR! dans la cellule voilà comment j'ai procédé
|
Quel boulet je fais :)
je mettais tellement axé sur 3 = rouge pas 3 = pas rouge ... lol mille merci pour ton aide (j'ai senti que tu commençais à râler un peu sur la fin :) à bientôt et merci encore |
ouffff !!!! ;-)
bonne soirée |
Sinon,
ça ne marche pas pour une mise en forme conditionnelle pour les cellules remplie à la main avec le pot de peinture , ya pas de pb, ça marche mais pour les cellules ayant une mise en forme conditionnelle, elle ne sont pas prise en compte... |
Messieurs, messieurs !
Depuis le post 1 j'ai indiqué que les fonctions qui font apparaître une couleur dans les cellules ne sont pas de même nature ! Vous avez tort (sauf votre respect) de penser que la mise en forme conditionnelle a attribué un format à la cellule ; il suffit pour vous en convaincre de cliquer sur Format/Cellule. Eric, ton affirmation du post 8 n'est pas juste : Il n'y a aucune raison pour que la macro mise dans ton post 1 fonctionne différemment que la couleur soit mise par mise en forme automatique ou manuellement. D'ailleurs ce n'est pas plutôt de mise en forme conditionnelle que tu veux parler ? De toute façon ça ne change rien... Donc vos formules et macros doivent traiter de manière différente les cellules colorées volontairement (j'allais dire manuellement) et celles qui se colorent en fonction de l'assistant "Mise en forme conditionnelle". VincentG , tu te rends à l'évidence quand tu rédiges ton tout dernier post ... Un retraité au soleil des Antilles :-) Raymond |
Bonjour tout le monde,
Effectivement la propriété ne retourne pas la couleur d'une mise en forme conditionnelle mais toujours la couleur 'cachée dessous'. J'ai étendu le résultat de mes test faits sur une mise en forme automatique (c'est bien ce qui était demandé au post 1) un peu vite... Par contre là je n'ai aucune idée de comment la tester... Vu que cette couleur répond à une formule test 'vrai', il faudrait plutôt reprendre cette formule saisie dans le format conditionnel, l'appliquer sur les valeurs des cellules et compter combien répondent à ce test sur la plage. Faisable par formule. eric
|
| 03/01 10h47 | Formules de Base 2 | Bureautique |
| 15/09 10h59 | [Excel] Colorer des cellules sur conditions | Excel |
| 12/06 03h04 | Créer rapidement un planning de congés simple [Excel] | Bureautique |
| 05/04 20h33 | Mise en forme des articles de la base de connaissance | FAQ |
| 17/11 11h21 | [Shell] Tester une variable numérique | Shell |
| 21/11 23h13 | Vba mise en forme conditionnelle, ref relativ | 0 |
| 16/07 14h48 | [VBA excel] mise en forme conditionnelle | 9 |
| 20/10 14h32 | [EXCEL + VBA ] Mise en forme conditionnelle | 0 |
| 19/08 09h24 | Mise en forme conditionnelle+cellule fusionné | 4 |
![]() | HP USB Disk Storage Format Tool - HP USB Disk Storage Format Tool est un petit utilitaire permettant de formater une clé USB ou un lecteur MP4 . Il permet... | Catégorie: Formatage/Partitionnement Licence: Freeware/gratuit |
![]() | Switch Sound Format Converter - Switchest un convertisseur de formats audio pour Windows ou Mac, capable de convertir des fichiers audio à partir de... | Catégorie: Conversion audio Licence: Freeware/gratuit |
![]() | Coloriage - Coloriage est un logiciel de coloriage pour jeunes enfants, à la manière de Tux Paint . Il répertorie quelque 220 dessins à... | Catégorie: Dessin Licence: Freeware/gratuit |
![]() | VLC - VLC Media Player est un lecteur multimédia sous capable de lire de nombreux formats audio et vidéo (MPEG-1, MPEG-2, MPEG-4,... | Catégorie: Lecteurs vidéo Licence: Open Source |
![]() | Lexmark Forms Printer 2591N | Catégorie: Imprimante | 774.50 € MicroChoix |
![]() | Lexmark Forms Printer 2580 | Catégorie: Imprimante | 497.50 € MicroChoix |
![]() | Lexmark Forms printer 2590 | Catégorie: Imprimante | 500.90 € MicroChoix |
![]() | Lexmark Forms Printer 2591 | Catégorie: Imprimante | 616.50 € MicroChoix |