Compte cellules couleurs et MFC

Mapat

XLDnaute Occasionnel
Bonsoir le forum

J'ai fais unagenda avec l'aide des fichiers des géants de ce forum et adapté à mes besoins
Je voudrais pouvoir compter les cellules de couleur correspondant à chaque journée
J'ai fais quelques essais mais ils ne sont pas concluants du tout.
C'est sans doute à cause des MFC qui sont sur les cellules à compter.
J'ai vu que le sujet a déjà des demandes mais malgré mes recherches je bute
Alors si quelqu'un a une idée...
Bonne soirée
 

Pièces jointes

  • Planning Janvier 2019.xlsm
    186.7 KB · Affichages: 29

chris

XLDnaute Barbatruc
Bonjour à tous

Petite précision.

On peut par VBA utiliser display.format pour tester la couleur d'une MFC mais ce ne peut être utilisé que dans une procédure pas une fonction personnalisée...

Donc nécessite un bouton pour lancer la procédure pour un calcul one shot et non automatique...
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour à tous,

Des formules SOMMEPROD dans toutes les cellules (des milliers) prendront sans doute pas mal de temps à se calculer.

Cette macro s'exécute chez moi en 5,8 secondes :
Code:
Sub RepereCouleurs()
Dim t, c As Range, coul&, Z As Range, P As Range
t = Timer
For Each c In [E4:IY53] 'plage à adapter
    coul = c.DisplayFormat.Interior.ColorIndex
    If coul = xlNone Then
        Set Z = Union(IIf(Z Is Nothing, c, Z), c)
    ElseIf coul <> 48 And coul <> 49 Then 'ni gris ni bleu foncé
        Set P = Union(IIf(P Is Nothing, c, P), c)
    End If
Next
Application.ScreenUpdating = False
If Not Z Is Nothing Then Z.Replace 1, "", xlWhole 'RAZ
If Not P Is Nothing Then P.NumberFormat = "0": P = 1 'repère
MsgBox "Couleurs repérées en " & Format(Timer - t, "0.00 \s")
End Sub
Des 1 repèrent les couleurs, il suffira ensuite de multiplier leurs sommes par "0:15" pour obtenir les heures.

A+
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
388