Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Filtrer valeurs par couleurs

  • Initiateur de la discussion Initiateur de la discussion aubelix
  • 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 !

aubelix

XLDnaute Impliqué
Bonjour à tous les amis du Forum. 🙂

Je reviens vers vous pour la question suivante:
Comment filtrer des cellules par couleur de Fond.
J'ai trouvé une fonction pour les compter mais pas pour les filtrer via VBA.
Voir Fichier joint.

Par avance Merci pour votre aide.
Cordialement.
 

Pièces jointes

Re : Filtrer valeurs par couleurs

Bonjour Astérix 🙂🙂

Inspire toi de ce code pour la couleur rouge (3) :
Code:
Sub coul()
Dim cell As Range
For Each cell In Range("D2:D25")
If cell.Interior.ColorIndex = 3 Then
valeur = valeur + 1
End If
Next
MsgBox valeur
End Sub

Bon courage.
 
Re : Filtrer valeurs par couleurs

Bonjour 13GIBE59. 🙂

Merci pour ta reéponse.
Quelqu'un peut-il m'aider pour appliquer le code la 2ème question.
Voir la question dans le fichier de la question.

Par avance Merci.
Cordialement.
 
Re : Filtrer valeurs par couleurs

Hello Aubelix, JB 🙂

Mais au fait tu veux quoi avec cette ComboBox ?

La liste des dates en C2:C26 ?

Bref, pour ton info, lorsque les ComboBox, ou autres contrôles, sont sur la feuille, il faut le préciser dans le code.

Avant
Code:
Private Sub ComboBox1_Change()
    
    Dim i, nbdate, nbligne As Integer
    Dim mois As Byte

    If ComboBox1.ListIndex = -1 Then Exit Sub
    mois = ComboBox1.ListIndex + 1

    TextBox1.Value = mois
    nbligne = Range("C2").End(xlDown).Row
    For i = 2 To nbligne
        If Month(Cells(i, 0)) = mois Then nbdate = nbdate + 1
    Next

    TextBox1.Value = nbdate
    ComboBox1 = Format(ComboBox1.Value, "mmmm")

End Sub
Après
Code:
Private Sub ComboBox1_Change()
    
    Dim i, nbdate, nbligne As Integer
    Dim mois As Byte

    If [COLOR="red"]Base.[/COLOR]ComboBox1.ListIndex = -1 Then Exit Sub
    mois = [COLOR="red"]Base.[/COLOR]ComboBox1.ListIndex + 1

    [COLOR="red"]Base.[/COLOR]TextBox1.Value = mois
    nbligne = Range("C2").End(xlDown).Row
    For i = 2 To nbligne
        If Month(Cells(i, 0)) = mois Then nbdate = nbdate + 1
    Next

    [COLOR="red"]Base.[/COLOR]TextBox1.Value = nbdate
    [COLOR="red"]Base.[/COLOR]ComboBox1 = Format([COLOR="Red"]Base.[/COLOR]ComboBox1.Value, "mmmm")

End Sub
Mais là, ça ne fait rien ?

A te relire.
 
Dernière édition:
Re : Filtrer valeurs par couleurs

Bonjour Hulk. 🙂

Merci de l'intérêt que tu portes à mon problème.
J'ai recopié le code "après".

Il ne se passe rien. Le ComboBox reste vide.

Merci pour ton aide.
Cordialement.
 
Re : Filtrer valeurs par couleurs

Re,

C'est ce que je disais 🙄

Donc j'en reviens à te re-poser les questions :

Tu veux quoi au fait dans la ComboBox ?

Les dates telles qu'elles sont en C2:C26 ?

Les mois en texte de ces dates ?

Précise ta demande !

=====================================

Dans la fenêtre des propriétés de la ComboBox, si tu rajoutes dans

ListFillRange
C2:C26

Tu auras la liste des mois tels qu'ils sont inscrits.

Si tu mets ton code en plus, la boucle For engendre un message d'erreur, si tu l'enlèves cette boucle, il affichera en texte le mois correspondant à la cellule.

Mais bon sans vraiment savoir ce que tu veux...
 
Re : Filtrer valeurs par couleurs

Re.

J'aurais voulu connaître le nombre de dates correspondant au mois sélectionné.
Exemple: si je sélectionne Mars, affichage de 3 dans la TextBox1.

J'ai ajouté les valeurs.
J'ai bien toutes les données ajoutées dans la liste.
Il s'affiche des dates, alors que j'aurai souhaité le mois.
La TextBox1 ne se réactualise pas.
j'ai un message d'erreur:

Erreur d'éxécution 1004
Erreur définie par l'application ou l'objet l'objet.

If Month(Cells(i, 0)) = mois Then (surligné en jaaune)


STP, peux-tu reprendre mon fichier pour vérifier.

Merci pour ton aide.
Cordialement.
 
Re : Filtrer valeurs par couleurs

Re,
Code:
For i = 2 To nbligne
If Month(Cells(i, 0)) = mois Then nbdate = nbdate + 1
Next
C'est ce que je disais aussi, la boucle engendre une erreur, enlève là et vois ca que ça donne.

Par contre tu veux quoi au fait dans la TextBox ?
 
Re : Filtrer valeurs par couleurs

Bonjour Pierrejean et Hulk. 🙂

Merci Pierrejean pour ta réponse sur les couleurs.
Elle fonctionne très bien. 😉

Mon souci est au niveau de la ComboBox.
Dans le TextBox, compter le nombre de valeurs répondant au mois choisi.

Par avance, Merci pour votre aide.
Cordialement.
 
Re : Filtrer valeurs par couleurs

Re Pierrejean. 🙂

Merci pour ta réponse. Cela fonctionne très bien. 😉

Une drenière chose : est-il possible de faire un filtre sur le mois sélectionné tout en gardant les quantités sur le TextBox1 ?

Si c'est trop galère, j'enr reste là...

Mille mercis encore pour ton aide.
Cordialement.
 
Re : Filtrer valeurs par couleurs

Re

En fait il y avait une imprecision due au filtre: le nbligne pouvait etre reduit selon le filtre
Voila une version plus correcte
Je regarde pour le filtre sur le mois selectionné
 

Pièces jointes

Re : Filtrer valeurs par couleurs

Re

Merci. 🙂

J'ai apprécié la façon avec laquelle tu ajoutes les mois dès l'ouverture du Classeur.

Private Sub Workbook_Open()
Sheets("Base").ComboBox1.Clear
For n = 1 To 12
Sheets("Base").ComboBox1.AddItem Format("01/" & n & "/2010", "mmmm")
Next n
End Sub


Cela permets de ne pas polluer la feuille de données.
Travail de Pro.

Cordialement.
 
- 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
6
Affichages
211
Réponses
2
Affichages
187
  • Question Question
Microsoft 365 Bloccage Excel
Réponses
1
Affichages
399
W
Réponses
13
Affichages
595
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…