choix couleur selon critère

Z

zesuila

Guest
Bonjour,
étant débutant, je demande votre aide
je précise que je ne connais pas les procédures vba et j'ai encore un peu de mal pour les macros. Mais ce site m'en apprend à chaque fois que j'ai besoin d'un conseil.

voilà mon problème :

j'ai une base (voir fichier joint) dans laquelle j'ai comme colonne :
une colonne code
une colonne désignation
une colonne emplacement
une colonne annulation
une colonne secteur

j'aimerai que lorsque dans la colonne secteur, les valeurs identiques soient d'une même couleur et cela pour toute la ligne (pas seulement la cellule)
par exemple :
si dans colonne secteur il y a A, les lignes correspondantes deviennent bleu
si dans la colonne secteur il y a F les lignes deviennent rouge
et cela automatiquement (avec un bouton ou autre solution)

J'ai essayé avec la mise en forme conditionnelle mais je n'ai droit quà 3 possibilités et j'ai besoin de 10 couleurs.

est ce possible et si oui comment (je rappelle que je suis un débutant !!!)
 
B

Bernard

Guest
Bonjour Zesuila, Gérard et le forum


Joint un fichier qui met en couleur la colonne "E" si une lettre est rentrée dans l'une de ces cellules

Cordialement

Bernard
 

Pièces jointes

  • CouleurSelonLettre.zip
    8.4 KB · Affichages: 46
  • CouleurSelonLettre.zip
    8.4 KB · Affichages: 49
  • CouleurSelonLettre.zip
    8.4 KB · Affichages: 51
Z

zesuila

Guest
Re: choix couleur selon critère oups !

je recommence !!!

Bonjour,
étant débutant, je demande votre aide
je précise que je ne connais pas les procédures vba et j'ai encore un peu de mal pour les macros. Mais ce site m'en apprend à chaque fois que j'ai besoin d'un conseil.

voilà mon problème :

j'ai une base (voir fichier joint) dans laquelle j'ai comme colonne :
une colonne code
une colonne désignation
une colonne emplacement
une colonne annulation
une colonne secteur

j'aimerai que lorsque dans la colonne secteur, les valeurs identiques soient d'une même couleur et cela pour toute la ligne (pas seulement la cellule)
par exemple :
si dans colonne secteur il y a A, les lignes correspondantes deviennent bleu
si dans la colonne secteur il y a F les lignes deviennent rouge
et cela automatiquement (avec un bouton ou autre solution)

J'ai essayé avec la mise en forme conditionnelle mais je n'ai droit quà 3 possibilités et j'ai besoin de 10 couleurs.

est ce possible et si oui comment (je rappelle que je suis un débutant !!!)
 
G

Gérard DEZAMIS

Guest
Bonjour Zésuila et Bernard

Salut Bernard :
Cours 1 du jour - Zouste oune (1,2,3 0) pitit kestionne -

1 - Private Sub Worksheet_Change(ByVal Target As Range)
"ça veut dire que l'évenement se produit à chaque changement de valeur de n'importe quelle cellule de la feuille ?

2 - If Not Application.Intersect(Target, Range("E:E")) Is Nothing Then
" ça veut dire que s'il y a un changement en E:E l'évènement se déclenche ?"

3 - Select Case Target.Value
Case Is = "A": Target.EntireRow.Interior.ColorIndex = 8
" Case ? pourquoi pas cells ou range.value ?"

Merci d'avance de tes conseils zéclérés; Il fait sombre ici !

@+
GD
 
G

Gérard DEZAMIS

Guest
Re: choix couleur selon critère oups !

Re Bernard et Zesuila

Le "coloriage" de TOUTE la ligne ne m'interesse pas. (hypothèse 1)
Je désire limiter mon "barbouillage " aux colonnes A et C (non contigues : exprès pour t'embêter) (hypothèse 2)
Que me dis-tu de modifier et où ?

Case Is = "A": Target.A:A.Interior.ColorIndex = 8 ?
Case Is = "A": Target.C:C.Interior.ColorIndex = 8 ?

Boof ....Pas fameux non ?

@+
GD
 
Z

zesuila

Guest
Re: choix couleur selon critère oups !

Cette fois ci j'espère que cela a fonctionné


Bonjour,
étant débutant, je demande votre aide
je précise que je ne connais pas les procédures vba et j'ai encore un peu de mal pour les macros. Mais ce site m'en apprend à chaque fois que j'ai besoin d'un conseil.

voilà mon problème :

j'ai une base (voir fichier joint) dans laquelle j'ai comme colonne :
une colonne code
une colonne désignation
une colonne emplacement
une colonne annulation
une colonne secteur

j'aimerai que lorsque dans la colonne secteur, les valeurs identiques soient d'une même couleur et cela pour toute la ligne (pas seulement la cellule)
par exemple :
si dans colonne secteur il y a A, les lignes correspondantes deviennent bleu
si dans la colonne secteur il y a F les lignes deviennent rouge
et cela automatiquement (avec un bouton ou autre solution)

J'ai essayé avec la mise en forme conditionnelle mais je n'ai droit quà 3 possibilités et j'ai besoin de 10 couleurs.

est ce possible et si oui comment (je rappelle que je suis un débutant !!!)
 

Pièces jointes

  • web.zip
    48.5 KB · Affichages: 31
  • web.zip
    48.5 KB · Affichages: 31
  • web.zip
    48.5 KB · Affichages: 32
B

Bernard

Guest
Re

Pour avoir des explications et comprendre ce qu'il se passe dans une macro au fur et à mesure , deux choses :

1- Selectionner un mot dans la syntaxe et appuyer sur F1 et l'aide VBA donne en général la solution, voir même des exemples toujours profitables;

2- Exécuter pas à pas la macro et passer l'index souris sur les mots de la ligne surlignée en jaune et certaines indications deviennent apparentes et apportent des informations sur les variables.


Salut

Bernard
 
Z

zesuila

Guest
merci Bernard de ta réponse rapide
Mais voilà, je ne vois pas les macros dans le fichier "couleur selon lettre"
Je te dis je suis débutant ! pourtant je suis allé voir dans "Macro" et je n'en vois aucune dans ce classeur
 
B

Bernard

Guest
Re

J'ai modifié ton fichier avec la macro qui se trouve dans le module de la feuil2.

Tu adapte la couleur en fonction de la palette du fichier précédent.

Je suis à la bourrrrrrrrrre !



Salut

Bonne journée

Bernard
 

Pièces jointes

  • web.zip
    44.4 KB · Affichages: 44
  • web.zip
    44.4 KB · Affichages: 49
  • web.zip
    44.4 KB · Affichages: 48
Z

zesuila

Guest
merci
quand tu auras un moment de libre, peux tu me répondre :
ton système est parfait pour moi sauf que j'ai oublié de préciser
que la colonne secteur dépend d'un critère : je m'explique :

dans un autre onglet j'ai 2 colonnes
-col 1 : des nombres (01-53 - 42 -..) qui correspondent à une famille d'articles (01 =biscuits;53 = boissons...)
-col 2 : la liste des familles d'articles (biscuits, confiserie...)
mais certaines familles ont plusieurs nombres (ex : 02= confiserie et 03=confiserie)

dans le 1er onglet la colonne E (là ou il y a les lettre A B C ...) est donc automatiquement "lié" à la colonne famille du même onglet( si nbre=01 alors dans SECTEUR, le A apparait
alors peux ton utiliser ton système pour que chaque ligne ou la lettre correspond soit coloriées.
je ne sais pas si je me fais bien comprendre. Même moi j'ai du mal à me relire !!!!
 
Z

zesuila

Guest
j'ai réusii finalement avec ton système mais le soucis c'est que pour que cela fonctionne , je dois taper la valeur alors que dans mon cas, ce sont des données qui sont réactualisés chaque jour.
Existe t il donc un moyen pour que ces lignes changent de couleurs à chaque transferts de données.

Je ne t'embête plus. Bon week end
 
J

jca06

Guest
Salut tuesla,

Je débute moi aussi et je suis émerveillé par les possibilités des macros, même celle de Bernard qui pourtant ne fait pas appel à des principes complexes.

C'est une bonne question que tu poses !

Effectivement, la macro de Bernard se lance automatiquement quand il y a un changement dans la colonne E et va s'exécuter sur la cellule qui est modifiée.
Ceci sous-entend :
- qu'une nouvelle ligne va lancer l'exécution de la macro ;
- qu'une formule va la lancer quand tu vas la créer mais pas quand le résultat de cette formule va changer : exemple avec le fichier de Bernard : si tu remplaces la valeur de E2 par la formule =E3, la couleur de la ligne 2 va changer quand tu vas taper la formule mais ne va pas changer ensuite si tu modifie la valeur de E3 ;
- la modification de la macro pour choisir une autre couleur ne modifiera pas la couleur des lignes déjà saisies, car elles ne changent pas ;
- la macro est bloquée si tu ajoutes plusieurs lignes à la fois car le changement concernera plus d'une cellule.

Un façon simple d'éviter cela peut être d'ajouter une procédure qui reprendrait le code de Bernard mais qui l'appliquerait à chaque cellule.

Par exemple, tu sélectionne manuellement ta colonne E pour les lignes saisies puis tu lance la macro suivante :
Sub boucle()
For Each cell In Selection
Select Case ActiveCell.Value
Case Is = "A": ActiveCell.EntireRow.Interior.ColorIndex = 8
Case Is = "B": ActiveCell.EntireRow.Interior.ColorIndex = 7
Case Is = "C": ActiveCell.EntireRow.Interior.ColorIndex = 4
Case Is = "D": ActiveCell.EntireRow.Interior.ColorIndex = 5
Case Is = "E": ActiveCell.EntireRow.Interior.ColorIndex = 6
Case Is = "F": ActiveCell.EntireRow.Interior.ColorIndex = 38
Case Is = "G": ActiveCell.EntireRow.Interior.ColorIndex = 8
Case Is = "H": ActiveCell.EntireRow.Interior.ColorIndex = 8
Case Is = "I": ActiveCell.EntireRow.Interior.ColorIndex = 8
Case Is = "J": ActiveCell.EntireRow.Interior.ColorIndex = 8
Case Is = "": ActiveCell.EntireRow.Interior.ColorIndex = 0
End Select
Next
End Sub

Ensuite, les améliorations sont sans limites.
 
Z

zesuila

Guest
euh !
je n'ai pas tout compris ! voire même rien vu que je suis un novice en macro, vb script etc...
j'ai déjà du mal avec la macro de Bernard, alors compiler ou ajouter une macro à une autre !!!!
si tu pouvez m'expliquer la démarche cela serait vaiment sympa !
et merci de ton aide
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU