XL 2013 [vba] macro couleur cellules selon une liste

c3dr1k

XLDnaute Nouveau
Bonjour a tous,

Je suis a la recherche d'aide pour une macro puisque beaucoup trop fastidieu via une MFC.

feuille 1, colonne C j'ai une liste de 350 phrases (que je souhaite pouvoir trier par couleur).
feuille 2, j'ai 10 colonnes de 35 phrases (colonne A, B, C, D...etc)

je souhaite que lorsque je clique sur mon bouton sur la feuille 1, la marco recherche les 35 phrases de la liste colonne A (feuille2) dans la liste des 350 phrases feuille1 et colorie d'une couleur.

et cela pour les 10 colonnes avec une couleur différentes.

En gros une MFC couleur selon texte spécifique d'une colonne.

ce qui me permet après de trier par couleur dans la feuille 1.

Merci de m'avoir lu et merci a ceux qui pourrons m'aider ou m'aiguiller
 

c3dr1k

XLDnaute Nouveau
Bonjour.
Un essai avec ce que j'ai compris.
merci,
j'ai juste le souci car cette macro semble n'etre faite que pour la feuille affiché mais je souhaiterai mettre un bouton sur un 3ème onglet.

Private Sub CBnColorePhr_Click()
Dim Dic As New Dictionary, Cel As Range, Rng As Range, Texte
Set Rng = Feuil1.UsedRange: Set Rng = Rng.Rows(2).Resize(Rng.Rows.Count - 1).Cells
For Each Cel In Rng
Texte = Cel.Value
If Texte <> "" Then Dic(Texte) = Cel.Interior.Color
Next Cel
Set Rng = Me.UsedRange: Set Rng = Rng.Rows(2).Resize(Rng.Rows.Count - 1)
For Each Cel In Rng.Columns("C").Cells
Texte = Cel.Value
If Dic.Exists(Texte) Then Cel.Interior.Color = Dic(Texte)
Next Cel
For Each Cel In Rng.Columns("F").Cells
Texte = Cel.Value
If Dic.Exists(Texte) Then Cel.Interior.Color = Dic(Texte)
Next Cel
 

Dranreb

XLDnaute Barbatruc
Cette macro est dans le module d'un objet Worksheet représentant la feuille pour laquelle elle est faite.
Vous pouvez mettre la même procédure dans le module de l'autre feuille si vous voulez, ou en faire une version dans un module standard acceptant en argument l'objet Worksheet concerné.
Une autre possibilité: transmettre les Range concernés, Cible et Modèle, ainsi qu'une couleur par défaut :
 

Pièces jointes

  • Classeur1.xlsm
    86 KB · Affichages: 7
Dernière édition:

c3dr1k

XLDnaute Nouveau
Cette macro est dans le module d'un objet Worksheet représentant la feuille pour laquelle elle est faite.
Vous pouvez mettre la même procédure dans le module de l'autre feuille si vous voulez, ou en faire une version dans un module standard acceptant en argument l'objet Worksheet concerné.
Une autre possibilité: transmettre les Range concernés, Cible et Modèle, ainsi qu'une couleur par défaut :
du coup celle ci s'active toute seule ?
 

Dranreb

XLDnaute Barbatruc
Regardez le menu Développeur, groupe Contrôle, commande Insérer. Elle vous propose les deux sortes d'objets: en premier ceux auxquels on affecte une macro d'un module standard, et ensuite ceux qui décrètent des évènements dans le module de l'objet Worksheet.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 926
Membres
101 842
dernier inscrit
seb0390