A voir également:
- Excel et VB
- Si et excel - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
6 réponses
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
9 mars 2005 à 13:29
9 mars 2005 à 13:29
Salut,
Tu peux faire une mise en forme conditionnelle =>Sélectionne tes cellules puis Format/Mise en forme conditionnelle....
Sino par macro, mais je pense que la Mise en forme conditionnelle suffira.....
A+
Tu peux faire une mise en forme conditionnelle =>Sélectionne tes cellules puis Format/Mise en forme conditionnelle....
Sino par macro, mais je pense que la Mise en forme conditionnelle suffira.....
A+
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
9 mars 2005 à 18:19
9 mars 2005 à 18:19
Hello Jack,
Essaie ça, à mettre dans le code de ta feuille.
Pour davantage de clarté, donne un nom à ta cellule (dans mon test, je l'ai appelée...Cellule !)
Dis-moi si ça colle.
Ajx.
Essaie ça, à mettre dans le code de ta feuille.
Pour davantage de clarté, donne un nom à ta cellule (dans mon test, je l'ai appelée...Cellule !)
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Couleur As Integer Dim Plage As Range Set Plage = Range("Cellule") Select Case Plage.Value Case 1 Couleur = 6 Case 2 Couleur = 38 Case 3 Couleur = 3 Case Else Couleur = 0 End Select Plage.EntireRow.Interior.ColorIndex = Couleur End Sub
Dis-moi si ça colle.
Ajx.
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
10 mars 2005 à 17:19
10 mars 2005 à 17:19
Hello JackF,
Excuse-moi, je n'avais pas compris que tu voulais que ça fonctionne pour toute une plage de cellules dans une colonne.
Donc voici une nouvelle mouture.
Je suppose que toutes les cellules qui sont concernées forment un rectangle compact (une seule colonne ou non).
J'ai nommé cette plage "Cellules".
Voici un nouveau code :
Dis-moi si on progresse !
Excuse-moi, je n'avais pas compris que tu voulais que ça fonctionne pour toute une plage de cellules dans une colonne.
Donc voici une nouvelle mouture.
Je suppose que toutes les cellules qui sont concernées forment un rectangle compact (une seule colonne ou non).
J'ai nommé cette plage "Cellules".
Voici un nouveau code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Couleur As Integer Dim Plage As Range Set Plage = Range("Cellules") For Each Cellule In Plage Select Case Cellule.Value Case 1 Couleur = 6 Case 2 Couleur = 38 Case 3 Couleur = 3 Case Else Couleur = 0 End Select Cellule.EntireRow.Interior.ColorIndex = Couleur Next End Sub
Dis-moi si on progresse !
On va oublier ma question : précipitation, vagues souvenirs... Row c'est une ligne !!!... En fait, mon souci serait de borner les couleurs à une plage de cellules : exemple, si B3 vaut "D", que B3:AB3 soit en bleu ciel... D'ailleurs, peut-on trouver qq part le codage des couleurs Excel ?
Merci bcp, désolé pour la question précédente ! ;-)
Merci bcp, désolé pour la question précédente ! ;-)
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
>
Alexis
7 avril 2005 à 14:18
7 avril 2005 à 14:18
Bonjour Alexis,
Je comprends moyennement ta question :
- est-ce que pour toi "D" représente la couleur bleu ciel, et que tu comptes associer une couleur à une lettre ?
- est-ce que c'est toujours (et seulement) en colonne B que la lettre doit être interprétée ? et dans ce cas, c'est toute la plage de B à AB, sur la ligne choisie, qui doit être colorée ?
Armojax.
Je comprends moyennement ta question :
- est-ce que pour toi "D" représente la couleur bleu ciel, et que tu comptes associer une couleur à une lettre ?
- est-ce que c'est toujours (et seulement) en colonne B que la lettre doit être interprétée ? et dans ce cas, c'est toute la plage de B à AB, sur la ligne choisie, qui doit être colorée ?
Armojax.
Alexis
>
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
7 avril 2005 à 16:19
7 avril 2005 à 16:19
C'est vrai, je n'étais pas très clair !
Alors, en fait, je cherche à mettre en éviodence les WE automatiquement dans un planning : donc je veux mettre en surbrillance les samedi et dimanche (je recherche donc "S" et "D" dans la colonne des jours...).
Ensuite, je veux que toute la ligne soit en bleu ciel (j'ai trouvé le code : c'est 20 pour la valeur voulue).
Ca marche sans souci, mais ce serait plus propre si les colonnes en dehors du tabeau n'étaient pas elles aussi en bleu ciel...
Merci...
Alors, en fait, je cherche à mettre en éviodence les WE automatiquement dans un planning : donc je veux mettre en surbrillance les samedi et dimanche (je recherche donc "S" et "D" dans la colonne des jours...).
Ensuite, je veux que toute la ligne soit en bleu ciel (j'ai trouvé le code : c'est 20 pour la valeur voulue).
Ca marche sans souci, mais ce serait plus propre si les colonnes en dehors du tabeau n'étaient pas elles aussi en bleu ciel...
Merci...
Hi Armojax
Mieux, c'est pas possible :-))
C'est tout a fait ce que je voulais.
Encore merci et bien le bonjour aux Nantais et a sa région (J'ai des cousins a La Chapelle sur Erdre)
Mieux, c'est pas possible :-))
C'est tout a fait ce que je voulais.
Encore merci et bien le bonjour aux Nantais et a sa région (J'ai des cousins a La Chapelle sur Erdre)
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
10 mars 2005 à 18:22
10 mars 2005 à 18:22
Content que ça soit tout bon.
Je vais me faire un p'tit restau avec une Chapellaine dans quelques jours. Je la saluerai de ta part !
Ajx.
Je vais me faire un p'tit restau avec une Chapellaine dans quelques jours. Je la saluerai de ta part !
Ajx.
JackF
>
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
10 mars 2005 à 18:43
10 mars 2005 à 18:43
Tu peux même aller au delà des salutations ............
Bonne chance !
Bonne chance !
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
>
JackF
10 mars 2005 à 18:49
10 mars 2005 à 18:49
J'y compte bien !!!!!!
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
>
jeremie
11 mars 2005 à 13:04
11 mars 2005 à 13:04
Salut Jérémie,
En standard dans Excel, c'est 3 conditions maxi.
Si tu en veux davantage, il faut te faire une petite macro. Tu peux t'inspirer de mon premier jet ci-dessus, en supprimant EntireRow. En plus de la couleur, tu peux changer ce que tu veux : couleur, bordures, etc.
Ajx.
En standard dans Excel, c'est 3 conditions maxi.
Si tu en veux davantage, il faut te faire une petite macro. Tu peux t'inspirer de mon premier jet ci-dessus, en supprimant EntireRow. En plus de la couleur, tu peux changer ce que tu veux : couleur, bordures, etc.
Ajx.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
7 avril 2005 à 14:42
7 avril 2005 à 14:42
Bonjour Jérémie,
Exemple ci-dessous : comptage du nombre de cellules rouges dans la plage "A1:H20".
Exemple ci-dessous : comptage du nombre de cellules rouges dans la plage "A1:H20".
Sub RedCells() Dim Ctr As Long Dim Plage As Range Dim Cellule As Range Set Plage = Range("A1:H20") Ctr = 0 For Each Cellule In Plage If Cellule.Interior.ColorIndex = 3 Then Ctr = Ctr + 1 End If Next MsgBox "Il y a " & Ctr & " cellules rouges" End SubArmojax.
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
7 avril 2005 à 17:49
7 avril 2005 à 17:49
Re Alexis,
Voici 2 solutions, selon le cas :
1) Soit la macro se trouve dans le code de ta feuille, et réagit quand tu saisis "S" ou "D" dans la colonne B. Ça va convenir si tu saisis ton calendrier au fur et à mesure. Par contre, si tout est déjà saisi, il faudrait que tu réinterviennes sur chaque cellule pour déclencher la macro.
2)Soit un balayage des lignes colorie tout en une seule fois.
Tout dépend de ton contexte.
Vois ce qui te convient.
Ajx.
Voici 2 solutions, selon le cas :
1) Soit la macro se trouve dans le code de ta feuille, et réagit quand tu saisis "S" ou "D" dans la colonne B. Ça va convenir si tu saisis ton calendrier au fur et à mesure. Par contre, si tout est déjà saisi, il faudrait que tu réinterviennes sur chaque cellule pour déclencher la macro.
2)Soit un balayage des lignes colorie tout en une seule fois.
Tout dépend de ton contexte.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Lig As Integer If ActiveCell.Column <> 2 Then Exit Sub If ActiveCell.Value = "S" _ Or ActiveCell.Value = "D" Then Lig = ActiveCell.Row Range(Cells(Lig, 2), Cells(Lig, 28)).Interior.ColorIndex = 20 End If End Sub
Sub WeekEnds() Dim Lig As Integer For Lig = 1 To 36 ' adapter la fourchette !!! If Cells(Lig, 2).Value = "S" _ Or Cells(Lig, 2).Value = "D" Then Range(Cells(Lig, 2), Cells(Lig, 28)).Interior.ColorIndex = 20 End If Next End Sub
Vois ce qui te convient.
Ajx.
Merci énormément...
Pour être complet, afin de faire à 100 % ce que je souhaitais, j'ai fait 2 ou 3 modifs :
... et ça marche !!!Merci énormément...
Pour être complet, afin de faire à 100 % ce que je souhaitais, j'ai fait 2 ou 3 modifs :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lig As Integer
For Lig = 3 To 33 ' adapter la fourchette !!!
If Cells(Lig, 2).Value = "S" _
Or Cells(Lig, 2).Value = "D" Then
Range(Cells(Lig, 2), Cells(Lig, 30)).Interior.ColorIndex = 20
End If
If Cells(Lig, 2).Value = "L" _
Or Cells(Lig, 2).Value = "Ma" _
Or Cells(Lig, 2).Value = "Me" _
Or Cells(Lig, 2).Value = "J" _
Or Cells(Lig, 2).Value = "V" _
Or Cells(Lig, 2).Value = "..." _
Or Cells(Lig, 2).Value = "" Then
Range(Cells(Lig, 2), Cells(Lig, 30)).Interior.ColorIndex = 0
End If
Next
End Sub
... et ça marche !!!
Pour être complet, afin de faire à 100 % ce que je souhaitais, j'ai fait 2 ou 3 modifs :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Lig As Integer For Lig = 3 To 33 ' adapter la fourchette !!! If Cells(Lig, 2).Value = "S" _ Or Cells(Lig, 2).Value = "D" Then Range(Cells(Lig, 2), Cells(Lig, 30)).Interior.ColorIndex = 20 End If If Cells(Lig, 2).Value = "L" _ Or Cells(Lig, 2).Value = "Ma" _ Or Cells(Lig, 2).Value = "Me" _ Or Cells(Lig, 2).Value = "J" _ Or Cells(Lig, 2).Value = "V" _ Or Cells(Lig, 2).Value = "..." _ Or Cells(Lig, 2).Value = "" Then Range(Cells(Lig, 2), Cells(Lig, 30)).Interior.ColorIndex = 0 End If Next End Sub
... et ça marche !!!Merci énormément...
Pour être complet, afin de faire à 100 % ce que je souhaitais, j'ai fait 2 ou 3 modifs :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lig As Integer
For Lig = 3 To 33 ' adapter la fourchette !!!
If Cells(Lig, 2).Value = "S" _
Or Cells(Lig, 2).Value = "D" Then
Range(Cells(Lig, 2), Cells(Lig, 30)).Interior.ColorIndex = 20
End If
If Cells(Lig, 2).Value = "L" _
Or Cells(Lig, 2).Value = "Ma" _
Or Cells(Lig, 2).Value = "Me" _
Or Cells(Lig, 2).Value = "J" _
Or Cells(Lig, 2).Value = "V" _
Or Cells(Lig, 2).Value = "..." _
Or Cells(Lig, 2).Value = "" Then
Range(Cells(Lig, 2), Cells(Lig, 30)).Interior.ColorIndex = 0
End If
Next
End Sub
... et ça marche !!!
9 mars 2005 à 13:44
Merci de me répondre, effectivement la mise en forme conditionnelle marche bien mais juste pour la cellule concernée par contre je voudrais appliquer le formatage sur la ligne complète.
Merci quand même. :-)