Mettre en forme une ligne en fonction de la forme d'une plag

Bonsoir,

J'ai créé un tableau avec des listes de choix et des MFC.

Dans une cellule où j'ai une liste de choix, je souhaite, une fois le choix effectué (initiales), colorier les caractères de la ligne en fonction de la couleur de la cellule contenant les mêmes initiales.

En fonction du fichier ci-joint :

  • onglet 2009
  • en cellule H9, je choisis les initiales NBL
  • je souhaite que la ligne entière soit de la même couleur que la cellule C18
et ainsi de suite ...

Pour info, j'ai déjà mis une MFC pour colorier une ligne entière en gris si le choix en colonne F est "GPA"

Je pourrais faire de même pour ma nouvelle demande, mais çà impliquerait d'additionner tout un tas de MFC !

Bonjour

Code de Feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("H3:H10")) Is Nothing Then
Dim val As Long
val = WorksheetFunction.Match(Target, Range("C16:C19"), 0)
Target.EntireRow.Font.ColorIndex = Choose(val, 50, 5, 9, 3)
End If
End Sub

Cordialement

je ne connais pas trop les macros sur excel.

j'ai réussi à reproduire la macro sur le 1e onglet en enregistrant la macro jusqu'à interruption.

mais elle ne se reproduit pas sur les autres onglets .

Bonjour

Pour les autres feuilles (aucune n'étant présentées de façon identique) avec cette méthode, un code pour chaque feuille

Cordialement

j'ai essayé de reproduire le code que vous m'avez donné en le copiant dans l'outil macro, mais çà ne fonctionne pas.

mon excel doit avoir un problème

merci quand même

Bonjour

Ton excel est comme moi Excel 2003

Si tu prends le fichier que je t'ai envoyé:

Ces Codes sont des Codes de Feuilles.

Pour les utiliser, tu fais Alt+F11 pour afficher l'éditeur VBA

Avec un Double-Click sur le nom de la Feuille dans l'Editeur VBA, le Code de Feuille s'affiche.

Tu le copies

Tu fais la même manip sur ton fichier et tu le Colles

Cordialement

si la manip ne marche pas c'est parce que j'ai rajouté des noms entre temps.

Ensuite, même si je modifie la macro en modifiant les noms de cellules, çà coince au niveau des codes couleurs, puisque j'ai rajouté des couleurs.

Ce que je ne comprends pas, c'est que hier j'ai créé la macro avec l'enregistreur de macro, et çà marchait parfaitement, et là je n'y arrive plus.

Bonjour

si la manip ne marche pas c'est parce que j'ai rajouté des noms entre temps.

Ensuite, même si je modifie la macro en modifiant les noms de cellules, çà coince au niveau des codes couleurs, puisque j'ai rajouté des couleurs.

Sur ce nouveau fichier, j'ai rajouté une Feuille Liste qui contient tes Codes avec les couleurs. (Liste Nommée "couleurs"Tu peux ajouter autant de Codes et de Couleurs sans avoir à toucher au Code qui reste invariable pour les 3 Feuilles 2009, 2010, 2011.

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Range("H:H"), Target) Is Nothing Then
   Target.EntireRow.Font.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Font.ColorIndex
  End If
End Sub

Tu peux bien sur mettre "H3:H20" ou "H3:H50" ou laisser "H:H".

Cordialement

Rechercher des sujets similaires à "mettre forme ligne fonction plag"