Mise en forme condi
Résolu/Fermé
wallyfm02
Messages postés
55
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
17 septembre 2013
-
5 juil. 2011 à 09:01
wallyfm02 Messages postés 55 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 17 septembre 2013 - 13 juil. 2011 à 11:11
wallyfm02 Messages postés 55 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 17 septembre 2013 - 13 juil. 2011 à 11:11
A voir également:
- Mise en forme condi
- Mise en forme conditionnelle excel - Guide
- Mise à jour pilote - Guide
- Mise en forme tableau croisé dynamique - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Mise a jour airpods - Guide
3 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
5 juil. 2011 à 10:17
5 juil. 2011 à 10:17
bonjour
Après ton choix de département, dans ta macro il te suffit d'affecter la MFC à ta feuille base si la colonne ($G par exemple) est égale à oui.
Formula1:="=$G1=""oui"""
Après ton choix de département, dans ta macro il te suffit d'affecter la MFC à ta feuille base si la colonne ($G par exemple) est égale à oui.
Formula1:="=$G1=""oui"""
wallyfm02
Messages postés
55
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
17 septembre 2013
1
5 juil. 2011 à 10:44
5 juil. 2011 à 10:44
Bonjour gbinforme,
dans ma colonne (g pour reprendre ton exemple)
je peux soit avoir des OUI ou des NON en foctions des lignes
ce que je voudrais, c'est que toutes les lignes ou la cellule (G, ligne) est OUI, alors la ligne adopte la MFC.
je n y arrive vraiment pas:
dois je selectionner toute la page la colonne g entiere?
Quel syntaxe la formule doit elle avoir?
ce que j'ai fait:
selectionner feuille entiere
Mfc
nouvelle regle
utiliser formule
ecrit formule: si($g1="OUI";vrai;faux)
choisit le format et ok
ca ne fonctionne pas
???
dans ma colonne (g pour reprendre ton exemple)
je peux soit avoir des OUI ou des NON en foctions des lignes
ce que je voudrais, c'est que toutes les lignes ou la cellule (G, ligne) est OUI, alors la ligne adopte la MFC.
je n y arrive vraiment pas:
dois je selectionner toute la page la colonne g entiere?
Quel syntaxe la formule doit elle avoir?
ce que j'ai fait:
selectionner feuille entiere
Mfc
nouvelle regle
utiliser formule
ecrit formule: si($g1="OUI";vrai;faux)
choisit le format et ok
ca ne fonctionne pas
???
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
Modifié par gbinforme le 5/07/2011 à 21:18
Modifié par gbinforme le 5/07/2011 à 21:18
bonjour
En fait tu as créé une macro qui sélectionne un département puis avec un tri sur la colonne concernée tu obtiens les lignes du département concerné en haut de ta base : c'est bien cela ?
Dans ce cas, je te suggère de rajouter dans ta macro la MFC car pour qu'elle soit efficace, il faut qu'elle soit en accord avec ton choix.
Pour une MFC, si tu sélectionnes toutes les colonnes, ta MFC va s'appliquer à toute la ligne même si tu sélectionnes $G1 alors que si tu sélectionnes la colonne tu n'auras que cette colonne concernée.
edit :
Toujours avec la colonne G, je te met un code pour mettre un fond à toutes les lignes qui ont "oui" en colonne G :
Bien entendu tu peux utiliser la variable colonne de ta macro à la place de selcol que j'ai mise.
Toujours zen
En fait tu as créé une macro qui sélectionne un département puis avec un tri sur la colonne concernée tu obtiens les lignes du département concerné en haut de ta base : c'est bien cela ?
Dans ce cas, je te suggère de rajouter dans ta macro la MFC car pour qu'elle soit efficace, il faut qu'elle soit en accord avec ton choix.
Pour une MFC, si tu sélectionnes toutes les colonnes, ta MFC va s'appliquer à toute la ligne même si tu sélectionnes $G1 alors que si tu sélectionnes la colonne tu n'auras que cette colonne concernée.
edit :
Toujours avec la colonne G, je te met un code pour mettre un fond à toutes les lignes qui ont "oui" en colonne G :
Dim selcol As String selcol = "G" Range(selcol & 1).Select With Sheets("base de données") .UsedRange.Cells.FormatConditions.Delete .UsedRange.FormatConditions.Add Type:=xlExpression, Formula1:="=$" & selcol & "1=""oui""" .UsedRange.FormatConditions(1).Interior.ColorIndex = 35 End With
Bien entendu tu peux utiliser la variable colonne de ta macro à la place de selcol que j'ai mise.
Toujours zen
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 395
Modifié par Vaucluse le 5/07/2011 à 21:03
Modifié par Vaucluse le 5/07/2011 à 21:03
Bonsoir tous (salut GB)
si je peux me permettre:
c'est la formule du message 2 qui est bizarre.
La MFC étant déjà une condition, le SI est inutile et de surcroit n'est pas accepté,( je crois) dans les MFC à partir de 2007, du moins pas dans des formules directes.
C'est donc bien simplement:
sélectionner le champ
écrire la formule:
=$G1="oui"
et formater
$G1 pour formater toute la ligne 1 si G1 est oui
G1 pour la cellule seule
Crdlmnt
si je peux me permettre:
c'est la formule du message 2 qui est bizarre.
La MFC étant déjà une condition, le SI est inutile et de surcroit n'est pas accepté,( je crois) dans les MFC à partir de 2007, du moins pas dans des formules directes.
C'est donc bien simplement:
sélectionner le champ
écrire la formule:
=$G1="oui"
et formater
$G1 pour formater toute la ligne 1 si G1 est oui
G1 pour la cellule seule
Crdlmnt
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
5 juil. 2011 à 21:30
5 juil. 2011 à 21:30
salut Vaucluse,
Tu peux te permettre car tu as entièrement raison : ton explication est parfaite mis à part que ce n'est pas toute la ligne mais seulement les colonnes sélectionnées qui seront mises en forme avec $G1.
Je n'ai pas relevé car je crois que dans le cas de wallyfm02 il ne faut pas qu'il utilise la fonction MFC du menu car sinon il faut qu'il la mette à jour à chaque choix de département ce qui n'est pas très performant comme méthode.
Tu peux te permettre car tu as entièrement raison : ton explication est parfaite mis à part que ce n'est pas toute la ligne mais seulement les colonnes sélectionnées qui seront mises en forme avec $G1.
Je n'ai pas relevé car je crois que dans le cas de wallyfm02 il ne faut pas qu'il utilise la fonction MFC du menu car sinon il faut qu'il la mette à jour à chaque choix de département ce qui n'est pas très performant comme méthode.
wallyfm02
Messages postés
55
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
17 septembre 2013
1
6 juil. 2011 à 10:33
6 juil. 2011 à 10:33
Bonjour à vous deux,
Gbinforme,
Tu as tout à fait cerné mon besoin.
je te remercie pour ton coup de pouce.
Désolé, je me suis mal exprimé sur message 2. En fait,je voulais faire la MFC pour enregistrer macro et recopier code pour chaque département.
Mais Gbinforme a résolu ce problème.
Quand je clique sur un département, la macro doit faire un tri de z vers a sur la colonne du département en question (Tous les "OUI" de la colonne se retrouve en tête de liste) + mettre en couleur les lignes correspondantes à ces "oui".
Cependant, quand je clique sur un autre département, ce sont potentiellement d'autres lignes qui peuvent être à distinguer.
Pour cela, j'ai écrit le code suivant:
' je remets un fond blanc sur toute la feuille
Sheets("File Partner").Select
Cells.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
' le code de Gbinforme qui met la couleur dans les lignes ou oui se trouve en colonne BO
Dim selcol As String
selcol = "BO"
Range(selcol & 1).Select
With Sheets("File Partner")
.UsedRange.Cells.FormatConditions.Delete
.UsedRange.FormatConditions.Add Type:=xlExpression, Formula1:="=$" & selcol & "1=""oui"""
.UsedRange.FormatConditions(1).Interior.ColorIndex = 35
End With
' Tri de z vers a en colonne BO
Sheets("File Partner").Select
ActiveWindow.SmallScroll ToRight:=28
Range("BO1").Select
ActiveWorkbook.Worksheets("File Partner").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("File Partner").AutoFilter.Sort.SortFields.Add Key _
:=Range("BO1"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("File Partner").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Cela fonctionne. Mais j'aurai bien gardé le quadrillage. Comment dois je faire?
Gbinforme,
Tu as tout à fait cerné mon besoin.
je te remercie pour ton coup de pouce.
Désolé, je me suis mal exprimé sur message 2. En fait,je voulais faire la MFC pour enregistrer macro et recopier code pour chaque département.
Mais Gbinforme a résolu ce problème.
Quand je clique sur un département, la macro doit faire un tri de z vers a sur la colonne du département en question (Tous les "OUI" de la colonne se retrouve en tête de liste) + mettre en couleur les lignes correspondantes à ces "oui".
Cependant, quand je clique sur un autre département, ce sont potentiellement d'autres lignes qui peuvent être à distinguer.
Pour cela, j'ai écrit le code suivant:
' je remets un fond blanc sur toute la feuille
Sheets("File Partner").Select
Cells.Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
' le code de Gbinforme qui met la couleur dans les lignes ou oui se trouve en colonne BO
Dim selcol As String
selcol = "BO"
Range(selcol & 1).Select
With Sheets("File Partner")
.UsedRange.Cells.FormatConditions.Delete
.UsedRange.FormatConditions.Add Type:=xlExpression, Formula1:="=$" & selcol & "1=""oui"""
.UsedRange.FormatConditions(1).Interior.ColorIndex = 35
End With
' Tri de z vers a en colonne BO
Sheets("File Partner").Select
ActiveWindow.SmallScroll ToRight:=28
Range("BO1").Select
ActiveWorkbook.Worksheets("File Partner").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("File Partner").AutoFilter.Sort.SortFields.Add Key _
:=Range("BO1"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("File Partner").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Cela fonctionne. Mais j'aurai bien gardé le quadrillage. Comment dois je faire?
wallyfm02
Messages postés
55
Date d'inscription
mardi 30 novembre 2010
Statut
Membre
Dernière intervention
17 septembre 2013
1
6 juil. 2011 à 14:48
6 juil. 2011 à 14:48
Salut Gbinforme,
Je viens de poster une autre question. Peux tu y jeter un oeil si tu as le temps, s'il te plaît?
Merci d'avance.
https://forums.commentcamarche.net/forum/affich-22561252-organiser-un-userform
Je viens de poster une autre question. Peux tu y jeter un oeil si tu as le temps, s'il te plaît?
Merci d'avance.
https://forums.commentcamarche.net/forum/affich-22561252-organiser-un-userform
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
7 juil. 2011 à 07:18
7 juil. 2011 à 07:18
Salut wallyfm02,
' je remets un fond blanc sur toute la feuille
Cela ne sert à rien car lorsque tu remets la nouvelle MFC, cela est fait par :
.UsedRange.Cells.FormatConditions.Delete
Tu as gardé mon
selcol = "BO"
mais ce n'est pas évolutif comme méthode : il faudrait utiliser ta sélection de département.
Si tu pouvais nous mettre un exemple de classeur, sans données identifiables et privées, mais avec la structure de tes données et ta macro, sur http://www.cijoint.fr/ puis nous mettre le lien généré ici ce serait plus facile.
' je remets un fond blanc sur toute la feuille
Cela ne sert à rien car lorsque tu remets la nouvelle MFC, cela est fait par :
.UsedRange.Cells.FormatConditions.Delete
Tu as gardé mon
selcol = "BO"
mais ce n'est pas évolutif comme méthode : il faudrait utiliser ta sélection de département.
Si tu pouvais nous mettre un exemple de classeur, sans données identifiables et privées, mais avec la structure de tes données et ta macro, sur http://www.cijoint.fr/ puis nous mettre le lien généré ici ce serait plus facile.