|
|
|
|
Bonjour,
Je suis en train de faire une grille excel pour automatiser un calcul des besoins (de type MRP), mes besoins générés ont une mise en forme automatique (besoin = couleur de fond rouge).
en parallèle, j'ai récupéré sur le net une macro qui identifie les cellules d'un tableau ayant une couleur de remplissage.
le hic : ça en marche pas. j'explique, quand je rempli moi même une case en remplissage rouge : ça marche
mais quand je rouge viens en mise en forme automatique : ça marche pas.
il y a peut etre une fonction qui détecte les mises en forme en VBA mais je ne la connais pas.
bref, voici le code de la macro si quelqu'un pouvait m'aidé ou si quelqu'un était confronté à un problème du même genre...
Sub 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
Bonjour,
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 |
Décris ce que tu fais et ce que te retourne la fonction, "ça ne marche pas" n'est pas explicite...
|
Voilà ce que je fais :
|
Messieurs, messieurs !
|
Bonjour tout le monde,
|