Boucle sur couleur de fond

Bonjour,

Je voudrais faire une boucle qui cherche dans un tableau les croix rouge en excluant les cellules vides. Et si au moins une croix dans une colonne est rouge mettre le titre de la colonne en rouge.

Par contre ma plage de données fait 1000 lignes et 100 colonnes.

Et suivant le fichier le nombre de lignes et colonnes peux varier en plus ou moins.

J ai fait ce début de macro mais elle marche pas

Si vous pouvez me aider merci

Dim adr As String

Dim Maplage As Range

Dim Maplage1 As Range

Dim Cel As Range

Dim DernLigne As Long

Dim DernColonne As Integer

Dim DernColonne1 As Integer

'Détermine la plage de cellules où s'effectue

'la recherche

DernLigne = Range("D" & Rows.Count).End(xlUp).Row

DernColonne = Cells(2, Cells.Columns.Count).End(xlToRight).Column

DernColonne1 = Cells(1, Cells.Columns.Count).End(xlToRight).Column

Set Maplage = Range(Cells(2, 4), Cells(DernLigne, DernColonne))

Set Maplage1 = Range(Cells(1, 4), Cells(1, DernColonne1))

With Application.FindFormat.Font

.Color = 255

End With

For Each Cel In Maplage1

Set C = Maplage.Find("X", LookIn:=xlValues, searchformat:=True)

If Not C Is Nothing Then

adr = C.Address

Do

Cel.Font.ColorIndex = 3

Set C = Maplage.FindNext(C) 'redéfinit la recherch r

Loop While Not C Is Nothing And C.Address <> adr

End If

Next Cel

End Sub

Bonjour,

Voir si ça convient,

Option Explicit

Sub TrouveXrouge()
Dim Maplage, C As Range
Dim DernLigne As Long
Dim DernColonne As Integer
Dim LaCol, X  As Integer

    'détermine la dernière ligen
DernLigne = Range("D" & Rows.Count).End(xlUp).Row
    'détermine la dernièr colonne
DernColonne = Cells(1, Columns.Count).End(xlToLeft).Column

With Application.FindFormat.Font
    .Color = 255
End With

For X = 4 To DernColonne  ' de la colone 4 à la dernière colonne
    Set Maplage = Range(Cells(2, X), Cells(DernLigne, X))
    Set C = Maplage.Find("X", LookIn:=xlValues, searchformat:=True)
    If Not C Is Nothing Then    ' si trouvé
        Cells(1, C.Column).Font.ColorIndex = 3
    End If
Next X
End Sub

ric

bonjour

salut ric

trop forts nos spécialistes en VBA ! je les admire

mais je rappelle à Remypaul qu'il ne faut absolument pas stocker une information autrement que par des caractères dans une cellule.

par exemple pour dire "la facture dont il est question sur cette ligne est réglée", on met un X ou bien le mot Réglée dans une colonne prévue à cet effet

ce qui permet de filtrer par ex toutes les lignes sans X pour voir les non réglées

la couleur des lignes ou cellules s'obtient facilement par des MFC

aucune formule, aucun VBA

mettre en couleur en manuel reste possible mais juste pour faire joli, pas pour indiquer qq chose.

Merci ric ça marche nickel

Rebonjour,

Dsl d abuser de votre connaissance en macro mais j ai encore deux pb

1- dans un classeur j ai deux feuilles.

*Dans la deuxième feuille j ai des titre de colonne sur fond rouge a partir de la cellule (2,4) jusqu'à n colonne (tous sur la même ligne)

*Dans la 1 ère feuille j ai les même titre de colonne, par contre il viennent d une formule, de la cellule (1,7) jusqu'à n colonne.

* Et je souhaiterais faire une boucle qui met le fond des cellules de la feuille 1 en rouge si dans la feuille 2 le texte est présent avec un fond rouge.

2- si j ai une base de données dans un classeur et que je veux l appeler dans une macro sur un autre classeur.

Cette base de données rentre dans des fonctions range.

Merci d avance de vos réponses et du temps passé a m expliquer.

re

bon, tu en restes avec le stockage d'information avec des couleurs. Je t'ai dit ce que j'en pensais. Et comme ce n'est traitable que par macro, les évolutions sont de plus en plus difficiles

je ne sais pas t'aider sur ce sujet.

pour ce qui concerne la récupération de données, la technologie a fait des progrès avec les ETL

Excel dispose de son menu Données Obtenir qui peut aller chercher toutes sortes de données, y compris dans un autre classeur

c'est la méthode préférentielle, Quand il y a de multiples fichiers et/ou des formats divers et/ou qu'il faut nettoyer les données et/ou que tu traites des 10 Go et plus.

quoique si la base n'est pas trop longue (disons moins de 10 000 celllules en tout) de simples = suffisent.

le fichier de destination contient donc en permanence une image fidèle du fichier de départ Hyper simple.

pas besoin de VBA

Bonjour,

... Dsl d'abuser de votre connaissance en macro mais j'ai encore deux pb ...

Tu n'abuses pas, je suis en formation et j'apprends énormément en VBA ... même si on peut arriver à la même finale de différents façons.

Je suis fatigué et je ne comprends pas bien ta demande ... aurais-tu un p'tit bout de fichier représentatif ?

ric

Bonjour,

... Dsl d'abuser de votre connaissance en macro mais j'ai encore deux pb ...

Tu n'abuses pas, je suis en formation et j'apprends énormément en VBA ... même si on peut arriver à la même finale de différents façons.

Je suis fatigué et je ne comprends pas bien ta demande ... aurais-tu un p'tit bout de fichier représentatif ?

ric

Bonjour ric,

Ci joint un fichier d exemple.

Dans la feuille 1 les titre des colonnes viennent d une recherchev.

Et en faite je voudrais mettre le fond rouge les titre des colonnes feuille 1 si ils ont dans la feuille 2 et sur fond rouge.

Et savoir comment je peux mettre une base de données dans un autre classeur et faire lien dans une macro. C est avec worksheet je pense.

Merci

6classeur1-1.xlsm (22.15 Ko)

Bonjour à tous,

Si j'ai bien compris ...

Si une colonne n'a plus de X rouge, le code en tient compte et remet l'entête en blanc sur les 2 feuilles.

Voir si ça convient ...

ric

Bonjour à tous,

Si j'ai bien compris ...

Si une colonne n'a plus de X rouge, le code en tient compte et remet l'entête en blanc sur les 2 feuilles.

Voir si ça convient ...

ric

Merci ric, c est nickel.

Rechercher des sujets similaires à "boucle couleur fond"