Couleurs format MFC non prises en compte dans une formule
Résolu
Dautomne
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
La formule (cellule M5) ci-après fonctionne parfaitement quand je remplis les cellules C5:L5 avec des couleurs VBA.
Mon souci, les cellules C5:L5 de mon fichier sont à priori remplies avec des couleurs au format MFC et ne semblent pas prises en compte dans la formule.
Je n'ai aucune notion vba, quelqu'un peut-il modifier ce code pour que les couleurs MFC soient prises en compte dans la formule ?
Par ailleurs, est-il possible de modifier le code suivant pour que la couleur reprise dans la cellule H5 soit au même format que dans les autres cellules.
Je vous joins mon fichier :
https://www.cjoint.com/c/JGEaakZls8O
Merci par avance pour votre aide.
Cordialement.
La formule (cellule M5) ci-après fonctionne parfaitement quand je remplis les cellules C5:L5 avec des couleurs VBA.
Sub TEST() Dim rg As Range, cl As Range, colors As Scripting.Dictionary, col As Long, maxnb As Long, colmax As Long, koul Set rg = Range("C5:L5") Set colors = New Scripting.Dictionary For Each cl In rg col = cl.Interior.Color Select Case col Case vbWhite, 8421504: Case Else: If colors.Exists(col) Then colors(col) = colors(col) + 1 Else Call colors.Add(col, 1) End If End Select Debug.Print col Next cl colmax = 0 maxnb = 0 For Each koul In colors.keys If colors(koul) > maxnb Then maxnb = colors(koul) colmax = koul End If Next koul Sheets("Synthèse résultats ctrl période").Range("M5").Interior.Color = colmax End Sub
Mon souci, les cellules C5:L5 de mon fichier sont à priori remplies avec des couleurs au format MFC et ne semblent pas prises en compte dans la formule.
Je n'ai aucune notion vba, quelqu'un peut-il modifier ce code pour que les couleurs MFC soient prises en compte dans la formule ?
Par ailleurs, est-il possible de modifier le code suivant pour que la couleur reprise dans la cellule H5 soit au même format que dans les autres cellules.
Dim rg As Range, cl As Range, noui As Integer, nnon As Integer, couleur As Integer, ncel As Long Set rg = Sheets("Fiche de contrôle").Range("$D$295:$D$297") noui = 0 nnon = 0 ncel = rg.Count For Each cl In rg Select Case cl.Value Case "NON": nnon = nnon + 1 Case "OUI": noui = noui + 1 End Select Next cl If noui = ncel Then couleur = 10 'vert Else If nnon = ncel Then couleur = 9 'rouge Else If noui + nnon = ncel Then couleur = 46 'orange Else couleur = 48 'gris End If End If End If Sheets("Synthèse résultats ctrl période").Range("H39").Interior.ColorIndex = couleur End Sub
Je vous joins mon fichier :
https://www.cjoint.com/c/JGEaakZls8O
Merci par avance pour votre aide.
Cordialement.
Configuration: Windows / Firefox 78.0
A voir également:
- Couleurs format MFC non prises en compte dans une formule
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Formule si et - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu l'intention d'acquérir des notions vba? dans quel contexte fais-tu ce travail?
tu écris "La formule (cellule M5) ci-après fonctionne parfaitement", et il n'y a aucune formule.
tu pourrais écrire "la routine TEST fonctionne parfaitement". ou utiliser "code VBA" au lieu de formule.
plus tu es clair, mieux nous pouvons t'aider.
en ce qui concerne ton premier soucis, moi j'essaierais en modifiant ainsi la ligne 6:
en ce qui concerne ton second soucis, "la couleur reprise dans la cellule H5 soit au même format que dans les autres cellules":
- les couleurs n'ont pas de format, que veux-tu obtenir?
- quelles autres cellules?
- donne peut-être un exemple, éventuellement en utilisant le contenu du fichier que tu partages, cela t'aidera à être concret
as-tu l'intention d'acquérir des notions vba? dans quel contexte fais-tu ce travail?
tu écris "La formule (cellule M5) ci-après fonctionne parfaitement", et il n'y a aucune formule.
tu pourrais écrire "la routine TEST fonctionne parfaitement". ou utiliser "code VBA" au lieu de formule.
plus tu es clair, mieux nous pouvons t'aider.
en ce qui concerne ton premier soucis, moi j'essaierais en modifiant ainsi la ligne 6:
col = cl.DisplayFormat.Interior.Colorje n'ai pas testé.
en ce qui concerne ton second soucis, "la couleur reprise dans la cellule H5 soit au même format que dans les autres cellules":
- les couleurs n'ont pas de format, que veux-tu obtenir?
- quelles autres cellules?
- donne peut-être un exemple, éventuellement en utilisant le contenu du fichier que tu partages, cela t'aidera à être concret
Merci beaucoup :-) mon souci 1 est à priori réglé.
Concernant le souci 2 :
Les codes couleurs utilisés pour la cellule H5 sont différents de ceux des autres cellules C5:G5/I5:L5. Je voudrai simplement modifié le code couleur utilisé pour cette cellule afin d'obtenir un remplissage uniforme de l'ensemble des cases
Voici les codes couleurs qui ont été utilisés dans les autres cellules (C5:G5/I5:L5):
Vert :
Rouge foncé :
Orange foncé :
Enfin Gris :
Fichier exemple :
https://www.cjoint.com/c/JGEaakZls8O
Les macros présentent dans le module 1 alimentent les cellules C5:D5.
Cordialement.
le module Module1 est rempli de code verbeux que je ne veux pas essayer de lire. si tu veux y ajouter H5, qu'est-ce qui t'en empêche?