Code vba plusieurs couleurs

  • Initiateur de la discussion Initiateur de la discussion laplayast
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

laplayast

XLDnaute Occasionnel
Bonjour,

Dans le code ci-dessous à la ligne 4, avec une seule couleur la fonction remplie sont rôle; mais avec plus de couleurs
cela ne marche plus. Justement ce modèle avec 4 couleurs ou plus m'intérresse.
Comment adapter cela?.
Merci



Function NbCoul(Zne As Range, Couleur As String)
Application.Volatile True
For Each cell In Zne
'''''''If cell.Interior.ColorIndex =43;33;3;6 Then NbCoul = NbCoul + 1
Next
NbCoul = NbCoul
End Function
'Création Fonction pour récupérer le numéro couleur de remplissage
Function Couleur(CL As Range) As Long
Couleur = CL.Interior.ColorIndex
End Function
 
Re : Code vba plusieurs couleurs

Salut,

Quelque chose comme ça ?

Code:
Function NbCoul(Zne As Range, Couleur As String)
Application.Volatile True
For Each cell In Zne
    Select Case cell.Interior.ColorIndex
        Case 43, 33, 3, 6
            NbCoul = NbCoul + 1
    End Select
Next cell
' la ligne en dessous est inutile
' NbCoul = NbCoul
End Function

'Création Fonction pour récupérer le numéro couleur de remplissage
Function Couleur(CL As Range) As Long
Couleur = CL.Interior.ColorIndex
End Function

++
 
Re : Code vba plusieurs couleurs

Bonjour,
Et merci,

Je souhaiterai integrer à la fonction "Nbcoul", la valeur du nombre de cellules de couleur trouvée, en fonction du choix de la couleur decidée dans la formule.
A ce stade il s'agit de la macro qui m'en empêche
Je ne vois pas comment l'integrer.

Début essai en cellule F5; le but etant de compter la couleur qui apparait dans la plage E5;E14, puisqu'il n'y'aura qu'un choix à la fois. Je suis obligé de shunter les autres couleurs dans la macro ce qui n'est pas le but.Voir fichier joint.

Merci
 

Pièces jointes

Re : Code vba plusieurs couleurs

Bonsour®

function modifiée :
VB:
Function NbCoul(Zne As Range, CoulIdx )
Application.Volatile True
NbCoul=0
For Each cell In Zne
   If cell.Interior.ColorIndex = CoulIdx Then NbCoul = NbCoul + 1  
Next cell
End Function
en D5 :
=NbCoul($E$5:$E$14;B5)
ou
=NbCoul($E$5:$E$14;8)
 
Dernière édition:
Re : Code vba plusieurs couleurs

Bonjour,
Fonctionne nickel merci,

Dans le code suivant aux tirets, il détecte nom ambigu je ne vois pas pourquoi? Quelle solution? merci.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not IsEmpty(celluleAvant) Then
If Not Intersect(Range(celluleAvant), [E5:LV30]) Is Nothing Then Calculate
End If
celluleAvant = Target.Address
If Not Application.Intersect(Target, Range("E5:LV30")) Is Nothing And Target.Count = 1 Then 'Adapter la plage
UserForm1.Show
End If
End Sub


Private Sub CommandButton1_Click()
ThisWorkbook.Sheets("sommaire").Activate
ActiveWindow.WindowState = xlMaximized
Application.DisplayFullScreen = False
ActiveWindow.SmallScroll ToRight:=-1
'Range("a1").Select
End Sub
-----------Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
 
Re : Code vba plusieurs couleurs

Salut,

Code:
Function NbCoul(Zne As Range, Couleur As String)
Application.Volatile True
For Each cell In Zne
    if cell.Interior.ColorIndex = Couleur then  NbCoul = NbCoul + 1
Next cell
End Function

'Création Fonction pour récupérer le numéro couleur de remplissage
Function Couleur(CL As Range) As Long
Couleur = CL.Interior.ColorIndex
End Function
 
Re : Code vba plusieurs couleurs

Bonsour
Dans le code suivant aux tirets, il détecte nom ambigu je ne vois pas pourquoi? Quelle solution? merci.


End Sub
-----------Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
il ne doit exister qu'une seule proc "Worksheet_SelectionChange(ByVal Target As Range)" par feuille ... !

supprimer la seconde , ajouter le calculate dans la 1ére proc 🙄
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
223
Retour