Bonjour A tous,
La macro Ecxel suivante bugue
l'outil de débogage surligne cette partie du codeCode complet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part , colors As Scripting.Dictionary
N'ayant aucune notion de VBA quelqu'un peut-il corriger ce code :-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 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 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
L'objectif de la macro est de remplir la cellule M5 de la couleur la plus présente dans les cellules C5:L5.
Exemple :
Exemple : si la cellule C est remplie en vert, la cellule D est remplie en vert, la cellule E est remplie en vert, la cellule F est remplie en vert, la cellule G est remplie en jaune, la cellule H est remplie en jaune, la celluleI est remplie en violet, la cellule J est remplie en rouge, la cellule K est remplie en vert et la cellule L est remplie en marron la cellule M doit être remplie en vert puisqu'il y a 5 cases vertes, 2 jaunes 1 violette et 1 rouge et 1 marron.
Enfin si aucune couleur n'a la majorité ---> laisser la case vide pour que je puisse remplir la cellule après analyse.
Merci par avance pour votre aide.
Cordialement.
Partager