recherche cellule de couleur rouge dans un classeur

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

hyundai

XLDnaute Junior
bonsoir à tous,

voila en gros tout est dans le titre, je recherche une formule me permettant de trouver toutes les cellules de couleur rouge dans un classeur et de me ranger dans une colonne sur une feuille de ce classeur le nom des feuilles contenant ces cellules rouge.

en espérant avoir été clair, je vous remercie d'avance de votre aide

christophe
 
Re : recherche cellule de couleur rouge dans un classeur

Bonjour Mazda, heeuuu non Hyundai 😀😉

Pour une recherche de couleur,
tout dépend si la couleur est attribuée par MFC (Mise en Forme Conditionnelle)
ou manuellement par Format -> Cellule

Donc comment est-elle mise cette couleur ?

A+
 
Re : recherche cellule de couleur rouge dans un classeur

Bonjour,

une proposition : ListerFeuilles.xls
La couleur est attendue en C2 et la plage en D2 (pour restreindre la plage de balayage et gagner du temps) de la feuil1 du classeur où est la macro.
La macro contrôle le classeur actif.

Code:
Sub listerFeuilles()
    Dim sh As Worksheet, c As Range
    Dim sh2 As Worksheet
    Set sh = ThisWorkbook.Sheets("Feuil1")
    If sh.[A65536].End(xlUp).Row > 1 Then sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 1).ClearContents
    For Each sh2 In ActiveWorkbook.Worksheets
        For Each c In sh2.Range(sh.[D2].Value)
            If c.Interior.ColorIndex = sh.[C2].Interior.ColorIndex Then
                sh.[A65536].End(xlUp).Offset(1, 0) = sh2.Name
                Exit For
            End If
        Next c
    Next sh2
    Set sh = Nothing
End Sub
eric

EDIT : remplacer
sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 1).ClearContents
par
If sh.[A65536].End(xlUp).Row > 1 Then sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 1).ClearContents

Je l'ai fait dans le code ci dessus mais pas dans le classeur.
(Sinon mettre qcq chose en A2...)
 
Dernière édition:
Re : recherche cellule de couleur rouge dans un classeur

Bonjour à tous,

Hyundai, si la cellule colorée se trouve n'importe ou mais avec une valeur inscrite dedans, voilà le code 😉

Code:
Sub VerifCelRouge()
  Dim Cel As Range, DerCel As String
  Dim Sht As Worksheet
  ' Pour chaque feuille du classeur
  For Each Sht In ThisWorkbook.Sheets
    ' Récupérer l'addresse de la dernière cellule utilisée
    On Error Resume Next
    DerCel = Sht.Cells.SpecialCells(xlCellTypeLastCell).Address
    On Error GoTo 0
    ' Pour chaque cellule
    For Each Cel In Sht.Range("A1:" & DerCel)
      If Cel.Interior.ColorIndex = 3 Then
        With Sheets("Résultat")
          .Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Sht.Name
        End With
        Exit For
      End If
    Next Cel
  Next Sht
End Sub

Le fichier d'exemple est joint 😉

A+
 

Pièces jointes

Re : recherche cellule de couleur rouge dans un classeur

Bonjour,

Et une piste de plus pour déjà rechercher les cellules d'une certaine couleur, avec une fonction personnalisée de JB (boisgontier)... qui va :

- soit chercher le numéro de la couleur
- soit chercher la même couleur que le fond de la cellule recherchée

en mettant la macro dans un module standard.

Code:
Function couleurFond(champ As Range)
Application.Volatile
Dim temp()
ReDim temp(1 To champ.Count)
For i = 1 To champ.Count
temp(i) = champ(i).Interior.ColorIndex
Next i
couleurFond = Application.Transpose(temp)
End Function

Bonne fin de soirée
 

Pièces jointes

Re : recherche cellule de couleur rouge dans un classeur

Et bien BRAVO🙂, tout fonctionne impeccable, MERCi BEAUCOUP.

Le petit +, si c'est possible, serait que pour le résultat afficher (feuil1, feuil3, etc...) je puisse clicquer dessus pour être "transporter" directement sur cette feuille.

Encore merci pour le résultat déja obtenu, et merci d'avance pour le petit +.

😉
 
Re : recherche cellule de couleur rouge dans un classeur

Et bien BRAVO, tout fonctionne impeccable, MERCi BEAUCOUP.

Le petit +, si c'est possible, serait que pour le résultat afficher (feuil1, feuil3, etc...) je puisse clicquer dessus pour être "transporter" directement sur cette feuille.

Encore merci pour le résultat déja obtenu, et merci d'avance pour le petit +.
 
Re : recherche cellule de couleur rouge dans un classeur

Bonsoir,

ben oui, mais si tu ne dis pas quelle version tu as retenu....

Voici la mienne modifiée mais du coup elle ne traite plus que le classeur où la feuille est installée :
ListerFeuille.xls

Code:
Sub listerFeuilles()
    Dim sh As Worksheet, c As Range
    Dim sh2 As Worksheet
    Set sh = ThisWorkbook.Sheets("Feuil1")
    If sh.[A65536].End(xlUp).Row > 1 Then sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 1).ClearContents
    For Each sh2 In ActiveWorkbook.Worksheets
        For Each c In sh2.Range(sh.[D2].Value)
            If c.Interior.ColorIndex = sh.[C2].Interior.ColorIndex Then
                sh.[A65536].End(xlUp).Offset(1, 0).Select
                sh.[A65536].End(xlUp).Offset(1, 0).Hyperlinks.Add Anchor:=Selection, Address:="", _
                  SubAddress:=sh2.Name & "!" & c.Address, TextToDisplay:=sh2.Name
                Exit For
            End If
        Next c
    Next sh2
    Set sh = Nothing
End Sub
eric
 
Re : recherche cellule de couleur rouge dans un classeur

bonjour,
oui effectivement je ne signale pas celle que j'ai retenu, mais j'avoue que j'avais une préférence pour la tienne car je peux changer la couleur (si besoin) et je peux aussi cibler la zone de recherche ce qui, je pense, permet une recherche plus rapide.
Maintenant , avec ce nouveau "code" tout est encore + parfais que la version précédente.
J'avais juste un message d'erreur (référence non valide) sur les feuilles dont le nom comporté des parenthèses (ex:feuil1 (2)) suffit juste de renommer les feuilles sans parenthèses et le tour est joué.

donc un super merci à toi, et également à Brigitte, à klin89 et à BrunoM45 pour l'aide apporté.

salutations, Christophe.
 
Re : recherche cellule de couleur rouge dans un classeur

re-bonjour,

finalement il n'y a pas que quand le nom des feuilles à des parenthèses qu'il y a une " référence non valide", cela le fait sur toutes les feuilles dont les noms comportent des espaces entre les mots, il y a t'il moyen de contourné cela, mis a part le "renommage" de toutes les feuilles.

merci d'avance
 
Re : recherche cellule de couleur rouge dans un classeur

Bonjour,

Oui, c'est plus les espaces qui devaient faire problème et c'est vrai que je n'ai pas trop testé la modif demandée...
Essaie avec ça :
Code:
Sub listerFeuilles()
    Dim sh As Worksheet, c As Range
    Dim sh2 As Worksheet
    Set sh = ThisWorkbook.Sheets("Feuil1")
    If sh.[A65536].End(xlUp).Row > 1 Then sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 1).ClearContents
    For Each sh2 In ActiveWorkbook.Worksheets
        For Each c In sh2.Range(sh.[D2].Value)
            If c.Interior.ColorIndex = sh.[C2].Interior.ColorIndex Then
                sh.[A65536].End(xlUp).Offset(1, 0).Select
                sh.[A65536].End(xlUp).Offset(1, 0).Hyperlinks.Add Anchor:=Selection, Address:="", _
                  SubAddress:=[COLOR=red]"'" &[/COLOR] sh2.Name & "[COLOR=red]'[/COLOR]!" & c.Address, TextToDisplay:=sh2.Name
                Exit For
            End If
        Next c
    Next sh2
    Set sh = Nothing
End Sub
eric
 
- 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
14
Affichages
250
Réponses
7
Affichages
281
Réponses
3
Affichages
119
Retour