Changement de couleurs dans excel
Résolu
AMISDAL
Messages postés
162
Date d'inscription
Statut
Membre
Dernière intervention
-
AMISDAL Messages postés 162 Date d'inscription Statut Membre Dernière intervention -
AMISDAL Messages postés 162 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
encore un tableau tarabiscoté !!!
Je dois gerer un circuit de formation et chaque fois que j'avance dans la procédure le titre doit changer de couleur . Comment faut il faire ?
Je joins le fichier demo
https://www.cjoint.com/?0bFpxpOSpgQ
Merci de votre aide
encore un tableau tarabiscoté !!!
Je dois gerer un circuit de formation et chaque fois que j'avance dans la procédure le titre doit changer de couleur . Comment faut il faire ?
Je joins le fichier demo
https://www.cjoint.com/?0bFpxpOSpgQ
Merci de votre aide
A voir également:
- Changement de couleurs dans excel
- Liste déroulante excel - Guide
- Changer de dns - Guide
- Word et excel gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Déplacer colonne excel - Guide
12 réponses
Le problème de la mise en forme conditionnelle, c'est que mon tableau doit se derouler progressivement : je m'explique.
1. je réalise donc une croix
2. je facture une autre croix et la premiere case doit changer de couleur sans que j'enlève la première croix
3. je conteste (meme chose)
4. tout est ok
Donc a chaque fois il faut changer la couleur sans enlever la croix
Y a t-il une solution miracle ?
Merci d'avance
1. je réalise donc une croix
2. je facture une autre croix et la premiere case doit changer de couleur sans que j'enlève la première croix
3. je conteste (meme chose)
4. tout est ok
Donc a chaque fois il faut changer la couleur sans enlever la croix
Y a t-il une solution miracle ?
Merci d'avance
Bonsoir,
une proposition :
eric
une proposition :
Private Sub Worksheet_Change(ByVal Target As Range) Dim col As Long, couleurs As Variant couleurs = Array(vbBlue, vbRed, vbGreen, vbYellow) If Target.Column < 2 Or Target.Column > 5 Then Exit Sub For col = 5 To 2 Step -1 If LCase(Cells(Target.Row, col)) = "x" Then Cells(Target.Row, 1).Interior.Color = couleurs(col - 2) Exit For End If Next col If col = 1 Then Cells(Target.Row, 1).Interior.ColorIndex = 0 End Sub
eric
Super ta macro ça marche, mais il faut que je la comprenne pour l'adapter à un tableau qui fait une 50ène de colonnes et ou quand on arrive à certaine colonne le titre change de colonne. Meme tableau que dans l'exemple mais avec des colonnes entre. De toute manière il va bien falloir que je comprenne les macros un peu mieux que ça.
Enfin si je n'y arrive pas ou si tu as un tuyau merci d'avance et merci encore.
Enfin si je n'y arrive pas ou si tu as un tuyau merci d'avance et merci encore.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
J'ai modifié pour que ce soit plus simple pour toi :
- au début du code tu saisis dans les arrays() les colonnes titres, et celles de début et fin de tes plages. Ici 2 plages de définies, tu peux en ajouter d'autres.
- les couleurs ne sont plus en dur dans le code mais récupérées dans les en-têtes des colonnes. Plus visuel pour choisir et plus simple pour modifier ces couleurs (il faudra revalider les x finaux concernés si tu modifies les couleurs après saisie).
couleurTitre.xls
eric
J'ai modifié pour que ce soit plus simple pour toi :
- au début du code tu saisis dans les arrays() les colonnes titres, et celles de début et fin de tes plages. Ici 2 plages de définies, tu peux en ajouter d'autres.
- les couleurs ne sont plus en dur dans le code mais récupérées dans les en-têtes des colonnes. Plus visuel pour choisir et plus simple pour modifier ces couleurs (il faudra revalider les x finaux concernés si tu modifies les couleurs après saisie).
Private Sub Worksheet_Change(ByVal Target As Range) Dim cTitres, cdebuts, cfins Dim pl As Long, col As Long, ok As Boolean ' saisir les n° des colonnes des plages à contrôler cTitres = Array(1, 8) 'colonnes titre cdebuts = Array(2, 9) ' colonnes début des plages cfins = Array(5, 12) ' colonnes fin des plages ' détection si dans plages For pl = 0 To UBound(cTitres) If Target.Column >= cdebuts(pl) And Target.Column <= cfins(pl) Then Exit For Next pl If pl > UBound(cTitres) Then Exit Sub ' recherche "x" For col = cfins(pl) To cdebuts(pl) Step -1 If LCase(Cells(Target.Row, col)) = "x" Then Cells(Target.Row, cTitres(pl)).Interior.ColorIndex = Cells(1, col).Interior.ColorIndex ok = True Exit For End If Next col If Not ok Then Cells(Target.Row, cTitres(pl)).Interior.ColorIndex = xlNone End Sub
couleurTitre.xls
eric
bonjour,
le fichier que tu m'as envoyé marche super mais comme je suis difficile !!! c'est encore plus compliqué !! Dans mon tableau on a une colonne de titre et de temps en temps une colonne qui lorsque l'on met une croix dessus change la couleur du titre....
Je met le fichier joint
Merci
https://www.cjoint.com/?0ciifBnURBkci d'avance
le fichier que tu m'as envoyé marche super mais comme je suis difficile !!! c'est encore plus compliqué !! Dans mon tableau on a une colonne de titre et de temps en temps une colonne qui lorsque l'on met une croix dessus change la couleur du titre....
Je met le fichier joint
Merci
https://www.cjoint.com/?0ciifBnURBkci d'avance
Bonjour,
et de temps en temps une colonne ...
Laquelle? Si il y a un problème il faut que ce soit reproductible et que tu donnes les manip pour pour le reproduire.
De plus ton tableau ne correspond pas à celui du début, et il n'y pas de code dedans.
Désolé, je ne peux pas tout deviner...
eric
et de temps en temps une colonne ...
Laquelle? Si il y a un problème il faut que ce soit reproductible et que tu donnes les manip pour pour le reproduire.
De plus ton tableau ne correspond pas à celui du début, et il n'y pas de code dedans.
Désolé, je ne peux pas tout deviner...
eric
Toute mes excuses si je ne suis pas très claire mais il est difficile d'expliquer quelque chose que l'on voit evident puisque on l'a mis en piste.
Je vais tenter d'etre compréhensible.
Mon tableau est le meme que le premier sauf que j'ai rajouté des colonnes entre les colonnes ou la croix change la couleur du titre. Dans ces colonnes entre des données n'ayant aucune incidence sur la couleur du titre. Dans la macro que tu m'as fait les colonnes se suivent, effectivement c'est le premier modèle que j'avais envoyé, mais je pensais que les plages apparaitraient séparées dans la macro et que je pourrais adapter à mon modèle.
Donc pour plus de précision, les plages qui doivent changer la couleur du titre sont les plages qui ont un titre avec une couleur entre parenthèse.
Merci d'avance
Je vais tenter d'etre compréhensible.
Mon tableau est le meme que le premier sauf que j'ai rajouté des colonnes entre les colonnes ou la croix change la couleur du titre. Dans ces colonnes entre des données n'ayant aucune incidence sur la couleur du titre. Dans la macro que tu m'as fait les colonnes se suivent, effectivement c'est le premier modèle que j'avais envoyé, mais je pensais que les plages apparaitraient séparées dans la macro et que je pourrais adapter à mon modèle.
Donc pour plus de précision, les plages qui doivent changer la couleur du titre sont les plages qui ont un titre avec une couleur entre parenthèse.
Merci d'avance
Ce sont les colonnes 4, 7, 10 et 14 avec leur titre en colonne 1.
Il suffit donc de saisir ces paramètres :
A moins que j'ai mal compris qcq chose ?
eric
Il suffit donc de saisir ces paramètres :
' saisir les n° des colonnes des plages à contrôler cTitres = Array(1, 1, 1, 1) 'colonnes titre cdebuts = Array(4, 7, 10, 14) ' colonnes début des plages cfins = Array(4, 7, 10, 14) ' colonnes fin des plages
A moins que j'ai mal compris qcq chose ?
eric