Rechercher : dans
Par :

Excel: Coloriser ligne/contenu d'1 cellule

Dernière réponse le 9 jun 2009 à 16:41:58 piou, le 4 avr 2006 à 14:41:16 
 Signaler ce message aux modérateurs

Bonjour,

Je voudrai pouvoir coloriser toute une ligne en fonction du contenu d'une cellule de cette ligne.

Merci par avance pour votre aide

Meilleures réponses pour « Excel: Coloriser ligne/contenu d'1 cellule » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...
Excel - Effacer le contenu de certaines cellules. VoirProblème Voici mon problème : J'ai 6 cellules comportant des listes déroulantes. Les 6 sont sélectionnées à chaque fois. J'aimerais pouvoir avoir un bouton pour réinitialiser les 6 en même temps c'est à dire qu'elles apparaissent vides (bien sûr...
[Excel] Trier sur les lignes (horizontalement), non les colonnes VoirMicrosoft Excel est configuré par défaut pour réaliser un tri sur les colonnes (Données / Trier). Pour trier les données horizontalement, il suffit de sélectionner les données à trier, puis de cliquer sur le bouton Options et, dans le panneau...
Tableur - Les cellules VoirLa notion de cellule On appelle "cellule" l'intersection entre une ligne (horizontale) et une colonne (verticale) de la feuille de calcul. Ainsi le nom de la ligne combiné au nom de la colonne donne les coordonnées d'une cellule (le terme d'adresse...
Référencement d’une plage de cellules VoirPLAGE DE CELLULES CONTIGUËS Une plage de cellules se note en indiquant les références de la cellule de début et de fin, séparées par le caractère : (deux-points) : Reference_Cellule_Debut:Reference_Cellule_Fin La référence à une ligne ou à une...

1

Armojax, le 4 avr 2006 à 18:48:01
  • +1

Hello piou,

Tu peux mettre une petite macro dans le code de la feuille concernée.
Ci-dessous, les cellules concernées se trouvent :
- dans la colonne 3 (ou C) : If Target.Column = 3
- à partir de la ligne 2 : And Target.Row >= 2
Si la valeur de la cellule est VAZY (en minuscules ou majuscules indifféremment), toute la ligne se colore en rouge (ColorIndex = 3)
Fais les adaptations, et vois si ça te convient.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  ' adapter le numéro de la colonne (ici 3)...
  ' et de ligne pour ne pas toucher aux lignes entête (ici 2)
  If Target.Column = 3 _
  And Target.Row >= 2 Then
    If UCase(Target.Value) = "VAZY" Then
      Target.EntireRow.Interior.ColorIndex = 3
    Else
      Target.EntireRow.Interior.ColorIndex = 0
    End If
  End If
End Sub

Répondre à Armojax

2

gbinforme, le 5 avr 2006 à 15:11:35
  • +6

Bonjour

Tu peux aussi le faire très simplement sans macro,
en utilisant le menu "format" puis "mise en forme conditionnelle".

Tu sélectionnes les celleules concernées, tu choisis le menu ci-dessus,
dans condition, tu choisis "la formule est"
et dans la zone de droite tu tapes : =$H14="mon choix"

H est la colonne où figure ta cellule à tester
14 est la ligne où débute ta plage de données
mon choix est la valeur que tu veux tester
Ta formule peux être plus complexe et par exemple,
si tu cherches une valeur qui se termine par "1",
tu peux très bien mettre : =DROITE($H14;1)="1"


en cliquant sur "format" puis "motif" tu choisis ta couleur de fond
ou dans "police" tu choisis ta couleur de caractère.

C'est une méthode sous utilisée qui permet de mettre en valeur des tableaux.

toujours zen

Répondre à gbinforme

3

Armojax, le 5 avr 2006 à 21:06:50

J'aime bien tes réponses, gbinforme. J'apprends toujours quelque chose...
Tu devrais écrire plus souvent.

Répondre à Armojax

4

gbinforme, le 6 avr 2006 à 07:56:33

Bonjour Armojax

Merci pour ce compliment, c'est agréable venant de toi,
car je trouve tes contributions très pertinantes et
c'est rarement facile de rajouter quoi que ce soit.
à bientôt amicalement.

toujours zen

Répondre à gbinforme

13

Guillaume, le 12 déc 2008 à 10:05:21

Merci pour cette aide. Ca répond complètement à ce que je cherchais.
Vive les forums :)

Répondre à Guillaume

5

Fred, le 6 fév 2007 à 15:40:10

Bravo pour ce "truc" très utile

Répondre à Fred

6

Carraph, le 30 aoû 2007 à 11:23:15
  • +1

Bonjour à tous,

Je cherche à masquer une ligne selon le résultat d'une cellule (sans passer par une Macro), comment faire?

Merci d'avance à tous.

Répondre à Carraph

7

roger, le 13 sep 2007 à 23:30:37

Bonjour,
Suivre la méthode précédente de formatage conditionnel et choisir la meme couleur pour le fond que pour le texte ...

Répondre à roger

8

lecorsaire, le 10 oct 2007 à 12:09:08

Bonjour
ton explication est très bien fait quant à la codification cependant rien ne se produit, étant débutant sur excel vb je me demande si ya pas une validation ou exportation à faire... merci d'avance pour votre aide

lecorsaire

Répondre à lecorsaire

9

gbinforme, le 10 oct 2007 à 15:51:11

Bonjour

sur excel vb je me demande si ya pas une validation ou exportation à faire...

N'ayant pas très bien compris la question, je ne suis pas en mesure de répondre.

S'il s'agit de la mise en forme conditionnelle il suffit de valider les écrans de saisie.

S'il s'agit de la macro elle réagit à chaque modification des cellules concernées et donc rien à valider d'autre.

toujours zen

Répondre à gbinforme

10

ptimasse, le 13 déc 2007 à 14:54:08
  • +1

Bonjour,

Sur le même modèl que piou, j'aimerais créer une macro qui selectionne toute les lignes d'une couleur choisie puis qu'il y ait un copié/collé de la selection vers une autre feuille déjà ouverte.

Merci D'avance

Répondre à ptimasse

11

Mousseline41, le 4 avr 2008 à 11:58:55

Bonjour,
Un peu la même question mais j'ai essayé de faire avec les mises en forme conditionnelle et je n'ai pas réussi.

Dans ma colonne E j'ai des valeurs qui sont : En cours, Terminé ou "". Selon la valeur, je souhaiterai que la ligne change de couleur ... Et je n'y arrive pas. Je n'ai jamais fait de vb, y'a t'il un moyen pour le faire sans passer par une programmation ? Sinon comment programmer ?

Merci, suis à la rue là ...

Répondre à Mousseline41

12

gbinforme, le 4 avr 2008 à 12:18:55

Bonjour

y'a t'il un moyen pour le faire sans passer par une programmation ?

oui tu regardes le poste 2 et en ayant sélectionné toutes les colonnes souhaitées tu mets la formule

=$E1="" dans la condition 1 avec le format voulu
=$E1="En cours" dans la condition 2 avec le format voulu
=$E1="Terminé " dans la condition 3 avec le format voulu


Toujours zen

Répondre à gbinforme

14

anonyme, le 9 jun 2009 à 15:39:39

Bonjour,

merci bcp pour toutes ces infos,

cela dit j'ai un hic tjs... imagine une liste de probleme, un probleme par ligne.
La dernière colonne est le status. 3 choix dans liste déroulante: probleme, corrige, testé-OK.
En fonction du choix la ligne change de couleur.
Ja'i bien compris le truc de la mise en forme conditionnelle ...
2 soucis cependant: dans la formule comment spécifier la valeur la cellule à ergarder, puisque chaque ligne regardera sa cellule de la colonne "E" correspondante... dans la formule que tu donnes, la cellule est fixe, c'et E1, point barre, non?
Ensuite... malheureusement, si j'ai besoin d'un 4e choix, je l'ai dans l'os, vu que la mise en forme conditionnelle ne permet que 3 options...

merci d'avance :)

ciao

Répondre à anonyme

15

anonyme, le 9 jun 2009 à 15:41:16

Bonjour,

merci bcp pour toutes ces infos,

cela dit j'ai un hic tjs... imagine une liste de probleme, un probleme par ligne.
La dernière colonne est le status. 3 choix dans liste déroulante: probleme, corrige, testé-OK.
En fonction du choix la ligne change de couleur.
Ja'i bien compris le truc de la mise en forme conditionnelle ...
2 soucis cependant: dans la formule comment spécifier la valeur la cellule à ergarder, puisque chaque ligne regardera sa cellule de la colonne "E" correspondante... dans la formule que tu donnes, la cellule est fixe, c'et E1, point barre, non?
ou alors il faut répéter la manip pour chaque ligne que l'on fait ....

Ensuite... malheureusement, si j'ai besoin d'un 4e choix, je l'ai dans l'os, vu que la mise en forme conditionnelle ne permet que 3 options...

merci d'avance :)

ciao

Répondre à anonyme

16

gbinforme, le 9 jun 2009 à 15:49:31

Bonjour

dans la formule que tu donnes, la cellule est fixe, c'et E1, point barre, non?

pas tout à fait, la formule s'adresse à toute la colonne E et si tu veux fonctionner sur J rien ne t'empêche de mettre J à la place de E.
La MFC s'applique à toute la plage sélectionnée et si tu sélectionne à partir de la ligne 5, tu remplaces :
=$E1="En cours" par =$E5="En cours"

si j'ai besoin d'un 4e choix, je l'ai dans l'os

pas du tout, il te suffit de passer à excel 2007 qui n'a plus cette limite ou d'utiliser une macro adéquate.
Toujours zen

Répondre à gbinforme

17

anonyme, le 9 jun 2009 à 15:53:12

Ok je pense avoir compris, cela dit, cela amène un gros bouot, vu que je dois bien avoir 60 lignes a colorier en fonction d'un choix, que je devrai donc répéter la manip du formatage conditionnel avec 3 choix pour chaque ligne, rien que ca ca va me rpendre une demie heure... j'ai raté qqe chose?

Répondre à anonyme

18

gbinforme, le 9 jun 2009 à 15:56:04

Bonjour

j'ai raté qqe chose?

oui : La MFC s'applique à toute la plage sélectionnée
Toujours zen

Répondre à gbinforme

19

anonyme, le 9 jun 2009 à 16:01:36

Aie ca devient obscur pour moi, j'avais l'impression d'avoir compris, mais visiblement non...

bon, mise en situation ...
je sélectionnes les lignes 5, 7,8,11,13,15,16,18,19 avec la touche ctrl... imaginons...
je vais dans format, MFC, etc... je tape quoi dans la formule ?
=$E5="choix" ???

si je mets ca, si je change la valeur de E5 , ce sont mes 10 lignes qui changent de couleur...
l'idée étant que chaque ligne soit modifiée par sa propre case E, la ligne 5 par E5, la ligne 19 par la case E19...

Répondre à anonyme

20

gbinforme, le 9 jun 2009 à 16:13:51

Bonjour

si tu sélectionne à partir de la ligne 5, tu remplaces : =$E1="En cours" par =$E5="En cours"

Manifestement tu ne lis pas tout ce qui est écrit...

La MFC s'applique ligne par ligne mais lorsque tu sélectionnes une plage de lignes, tu écris la formule de la première qui sera répercutée sur les autres lignes puisque le numéro de ligne n'est pas fixé :
=$E5="En cours"

E "fixé" par le $ : seule la colonne E est analysée.
5, première ligne va évoluer en fonction de la ligne où tu as introduit la MFC.
Toujours zen

Répondre à gbinforme

21

 anonyme, le 9 jun 2009 à 16:41:58

Ok, mnt j'ai compris, mon souci était que je sélecionnais des lignes intermittentes, pas un bloc... du coup ca n'allait pas.

En tous cas, un tout grand merci pour les infos et la persévération dans l'explication :-) !!

Répondre à anonyme