Compter les lignes colorées

nat54

XLDnaute Barbatruc
Voilà mon pb ; je souhaite compter le nb de contrats finis
Lorsqu'un contrat est fini, toute sa ligne est colorée en vert (la police)

comment faire pour afficher le nb contrats finis dans une cellule ?

MERCI

Mon code actuel (qui me renvoie une valeur 0)

Code:
Sub ContratsFinis()
Dim Compte As Integer
' les cellules surveillées
For Each c In Range('A3:A350')
' condition fixée
If c.Font.ColorIndex = 4 Then
Compte = Compte + 1
End If
Next
' afficher la somme en AP18
Range('AP18') = Compte
End Sub
 

mutzik

XLDnaute Barbatruc
Bonjour Nat54,

tes lignes sont elles colorées par un formatage conditionnel ou manuellement. Je ne crois pas que ta macro fonctionne si tu as un formatage conditionnel. De préférence, essaie ton code sur une feuille vierge et vérifie avec un formattage conditionnel et un autre en colorant manuellement

NB : j'ai testé ton code, il fonctionne parfaitement

Message édité par: mutzik, à: 05/09/2005 11:10
 

Hervé

XLDnaute Barbatruc
Bonjour Nat, le forum

:)

Rien vu de choquant dans ton code

2 pistes de reflexion :

1) ta couleur ne serait pas appliquer par une MEFC ?

2) Es-tu sur que la couleur appliquer soit bien le vert numéro 4 ?? et non un autre vert.

Pour tester tu peux essayer ce type de code, aplacer dans le module de la feuille (clique droit sur l'onglet, puis visualiser le code) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Target.Font.ColorIndex
End Sub

En cliquant sur une cellule la macro te renverra son numéro de couleur.

EDition : oups , Salut mutzik, je confirme que ce type de code ne fonctionne pas avec une MEFC, hélas.

salut

Message édité par: Hervé, à: 05/09/2005 11:12
 

pat1545.

XLDnaute Accro
Salut,

comme le disait Hervé, voir tes couleurs:
ce petit code te les donnera toutes:

Sub ColorIndexList()
ActiveWindow.zoom = 75
On Error GoTo Done
Range('A1').Select
ActiveCell.Formula = 'Couleur'
ActiveCell.Offset(0, 1).Formula = 'Code couleur'
ActiveCell.Offset(1, 0).Activate
For mnum = 1 To 56
With Selection.Interior
.ColorIndex = mnum
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
ActiveCell.Offset(0, 1) = mnum
ActiveCell.Offset(1, 0).Select
Next mnum
Done:
Range('A1').Select
End Sub

Patrick
 

nat54

XLDnaute Barbatruc
@ Patrick : ton code me colore mes cellules en colonne A mais je vois comment le code couleur ?
je suis pas sûre d'avoir compris l'utilité de ton code

@ Hervé :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
MsgBox Target.Font.ColorIndex 
End Sub
ca , je le mets dans un module ?
je le lance comment ?
je débute en VBA..
 

Hervé

XLDnaute Barbatruc
bonjour tout le monde

Nat, ton problème est apparement résolu et j'en suis content :)

Ce code n'est à utiliser que si tu cherches le numero index d'une cellule, en somme moi je m'en sert quant j'ouvre les pièces jointes des demandeurs et qu'ils veulent un code concernant des couleurs précise sans nous mettre les numéros.

Il faut donc placer ce code dans un module de feuilles car c'est une evenementielle qui ne se déclenche que si une cellule est sélectionner.

Clique droit sur le nom de l'onglet, puis dans le menu contextuel qui s'affiche, choisi visualiser le code.

je te met en piece jointe un classeur te montrant ceci en feuille 1 (clique simple sur les mots en couleur), et en feuille 2 un petit code qui te donnera toutes les couleurs de la palette (clique sur le bouton en feuille 2).

en espérant t'avoir aidé.

salut


[file name=Classeur3_20050906131623.zip size=7742]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur3_20050906131623.zip[/file]
 

Pièces jointes

  • Classeur3_20050906131623.zip
    7.6 KB · Affichages: 104

Discussions similaires

Statistiques des forums

Discussions
312 517
Messages
2 089 242
Membres
104 075
dernier inscrit
christophe.lienard.974