Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

liste des formats condi

15 réponses
Avatar
Patrick
Bonjour,

je suis sous XL2007 et j'ai pêché ce code sur un site mais il ne semble
pas fonctionner chez moi...
Si parmi vous il y a des gens sous 2010-13-16, pourrait-il (elle) le
tester et dire si c'est ok ou pas ?

Merci

Option Explicit
Sub List_Conditional_Formatting_Rules()
Dim ws As Worksheet, wsCF As Worksheet, NR As Long
Dim CFrule As FormatCondition, Rng As Range
On Error Resume Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "CF Rules"
Set wsCF = Sheets("CF Rules")
wsCF.Range("A1:C1").Value = [{"Sheet","Formula","Range"}]
NR = 2
For Each ws In Worksheets
If ws.Name <> "CF Rules" Then
Set Rng = ws.Cells
For Each CFrule In Rng.FormatConditions
wsCF.Range("A" & NR).Value = ws.Name
wsCF.Range("B" & NR).Value = "'" & CFrule.Formula1
wsCF.Range("C" & NR).Value = CFrule.AppliesTo.Address
NR = NR + 1
Next CFrule
End If
Next ws
wsCF.Columns.AutoFit
End Sub

10 réponses

1 2
Avatar
MichD
Bonjour,
Au lieu de nous demander de tester un code qui ne fonctionne pas comme
tu l'espères chez toi, pourquoi ne pas expliquer ce que tu veux faire et
le résultat que tu veux obtenir.
Ceci dit, j'ai testé sommairement la macro et elle fonctionne.
La mise en forme conditionnelle :
Nom de la feuille : Feuil1
plage de cellules : A1:A4
Formule = A1>0
Et c'est bien ce que j'ai obtenu à partir de la macro!
MichD
Avatar
PatrIck
Bonjour Denis,
ce que je dis c'est que ce code ne donne rien chez moi sous 2007 mais qu'il est peut être opérationnel sur les autres versions ;
tu ne dis pas sous quelle version tu es :)
Merci
Le mardi 12 juillet 2016 21:00:21 UTC+2, MichD a écrit :
Bonjour,
Au lieu de nous demander de tester un code qui ne fonctionne pas comme
tu l'espères chez toi, pourquoi ne pas expliquer ce que tu veux fair e et
le résultat que tu veux obtenir.
Ceci dit, j'ai testé sommairement la macro et elle fonctionne.
La mise en forme conditionnelle :
Nom de la feuille : Feuil1
plage de cellules : A1:A4
Formule = A1>0
Et c'est bien ce que j'ai obtenu à partir de la macro!
MichD
Avatar
MichD
Je suis avec Excel 2016.
Si tu veux, tu peux publier ton classeur en utilisant l'adresse interne
Cjoint.com. Tu nous retournes ici l'adresse que tu auras
obtenue.
Tu n'es pas obligé d'inclure les vraies données que contient ton
fichier. L'objectif est de voir ce qui bloque l'exécution de la macro.
MichD
Avatar
Jacquouille
Bonsoir,
Une qui revient de Dieu sait d'où....
En feuil1!A1, MEFC = La valeur de la cel est comprise entre 3 et 5 + couleur
de fond bleu.
Voilà ce que la macro donne chez moi, avec XL 2003.
- création d'une feuille appelée "CF Rules" (Rule qui veut dire en Wallon,
un mètre)
avec en A1, le mot "sheet"
en B1, le mot" Formula" et en C1, le mot "Range"
En A2, le mot "feuil1"
PLUS un ajustement automatique des 3 premières colonnes.
Donc, pour moi, cette macro me donne le menu, mais il n'y a rien dans
l'assiette !
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Patrick" a écrit dans le message de groupe de discussion :
nm3beg$jk9$
Bonjour,
je suis sous XL2007 et j'ai pêché ce code sur un site mais il ne semble
pas fonctionner chez moi...
Si parmi vous il y a des gens sous 2010-13-16, pourrait-il (elle) le
tester et dire si c'est ok ou pas ?
Merci
Option Explicit
Sub List_Conditional_Formatting_Rules()
Dim ws As Worksheet, wsCF As Worksheet, NR As Long
Dim CFrule As FormatCondition, Rng As Range
On Error Resume Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "CF Rules"
Set wsCF = Sheets("CF Rules")
wsCF.Range("A1:C1").Value = [{"Sheet","Formula","Range"}]
NR = 2
For Each ws In Worksheets
If ws.Name <> "CF Rules" Then
Set Rng = ws.Cells
For Each CFrule In Rng.FormatConditions
wsCF.Range("A" & NR).Value = ws.Name
wsCF.Range("B" & NR).Value = "'" & CFrule.Formula1
wsCF.Range("C" & NR).Value = CFrule.AppliesTo.Address
NR = NR + 1
Next CFrule
End If
Next ws
wsCF.Columns.AutoFit
End Sub
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Jacquouille
Et de continuer ....
Après le premier test décrit dans l'autre msg, je refais un deuxième, sans
rien changer (donc, avec la feuille "CF rules".
Et bien, il me crée une feuil4, vide.
Rien de changé dans "CF rules".
Bonne fin de soirée à tous.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
nm3ohd$19dc$
Bonsoir,
Une qui revient de Dieu sait d'où....
En feuil1!A1, MEFC = La valeur de la cel est comprise entre 3 et 5 + couleur
de fond bleu.
Voilà ce que la macro donne chez moi, avec XL 2003.
- création d'une feuille appelée "CF Rules" (Rule qui veut dire en Wallon,
un mètre)
avec en A1, le mot "sheet"
en B1, le mot" Formula" et en C1, le mot "Range"
En A2, le mot "feuil1"
PLUS un ajustement automatique des 3 premières colonnes.
Donc, pour moi, cette macro me donne le menu, mais il n'y a rien dans
l'assiette !
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Patrick" a écrit dans le message de groupe de discussion :
nm3beg$jk9$
Bonjour,
je suis sous XL2007 et j'ai pêché ce code sur un site mais il ne semble
pas fonctionner chez moi...
Si parmi vous il y a des gens sous 2010-13-16, pourrait-il (elle) le
tester et dire si c'est ok ou pas ?
Merci
Option Explicit
Sub List_Conditional_Formatting_Rules()
Dim ws As Worksheet, wsCF As Worksheet, NR As Long
Dim CFrule As FormatCondition, Rng As Range
On Error Resume Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "CF Rules"
Set wsCF = Sheets("CF Rules")
wsCF.Range("A1:C1").Value = [{"Sheet","Formula","Range"}]
NR = 2
For Each ws In Worksheets
If ws.Name <> "CF Rules" Then
Set Rng = ws.Cells
For Each CFrule In Rng.FormatConditions
wsCF.Range("A" & NR).Value = ws.Name
wsCF.Range("B" & NR).Value = "'" & CFrule.Formula1
wsCF.Range("C" & NR).Value = CFrule.AppliesTo.Address
NR = NR + 1
Next CFrule
End If
Next ws
wsCF.Columns.AutoFit
End Sub
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
isabelle
salutatous,
j'ai fais un test avec la macro de Denis,
http://www.cjoint.com/c/FGna4U5WkVa
ça fonctionne très bien sur xl2010
s.v.p dit-nous si ça fonctionne sur ta version.
isabelle
Le 2016-07-12 à 17:50, Jacquouille a écrit :
Et de continuer ....
Après le premier test décrit dans l'autre msg, je refais un deuxième, sans rien
changer (donc, avec la feuille "CF rules".
Et bien, il me crée une feuil4, vide.
Rien de changé dans "CF rules".
Bonne fin de soirée à tous.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
nm3ohd$19dc$
Bonsoir,
Une qui revient de Dieu sait d'où....
En feuil1!A1, MEFC = La valeur de la cel est comprise entre 3 et 5 + couleur
de fond bleu.
Voilà ce que la macro donne chez moi, avec XL 2003.
- création d'une feuille appelée "CF Rules" (Rule qui veut dire en Wallon,
un mètre)
avec en A1, le mot "sheet"
en B1, le mot" Formula" et en C1, le mot "Range"
En A2, le mot "feuil1"
PLUS un ajustement automatique des 3 premières colonnes.
Donc, pour moi, cette macro me donne le menu, mais il n'y a rien dans
l'assiette !
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Patrick" a écrit dans le message de groupe de discussion :
nm3beg$jk9$
Bonjour,
je suis sous XL2007 et j'ai pêché ce code sur un site mais il ne semble
pas fonctionner chez moi...
Si parmi vous il y a des gens sous 2010-13-16, pourrait-il (elle) le
tester et dire si c'est ok ou pas ?
Merci
Option Explicit
Sub List_Conditional_Formatting_Rules()
Dim ws As Worksheet, wsCF As Worksheet, NR As Long
Dim CFrule As FormatCondition, Rng As Range
On Error Resume Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "CF Rules"
Set wsCF = Sheets("CF Rules")
wsCF.Range("A1:C1").Value = [{"Sheet","Formula","Range"}]
NR = 2
For Each ws In Worksheets
If ws.Name <> "CF Rules" Then
Set Rng = ws.Cells
For Each CFrule In Rng.FormatConditions
wsCF.Range("A" & NR).Value = ws.Name
wsCF.Range("B" & NR).Value = "'" & CFrule.Formula1
wsCF.Range("C" & NR).Value = CFrule.AppliesTo.Address
NR = NR + 1
Next CFrule
End If
Next ws
wsCF.Columns.AutoFit
End Sub
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
https://www.avast.com/antivirus
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
https://www.avast.com/antivirus
Avatar
Patrick
Bonjour à tous ,
inutile de mettre un fichier exemple il suffit de mettre un format condi
dans une feuille quelconque ...
J'ai tester ce code en XL 2007 PC et comme Jacquouille (que je salue
ici) , rien que des titres , puis j'ai pensé à le tester sur mon Mac
EXCEL 2011 et là j'ai un résultat...
Il y a donc des instructions inconnues de la version 2007, c'est ce que
je voulais savoir et c'est confirmé ici.
P.
Le 13-07-16 à 02:59, isabelle a écrit :
salutatous,
j'ai fais un test avec la macro de Denis,
http://www.cjoint.com/c/FGna4U5WkVa
ça fonctionne très bien sur xl2010
s.v.p dit-nous si ça fonctionne sur ta version.
isabelle
Le 2016-07-12 à 17:50, Jacquouille a écrit :
Et de continuer ....
Après le premier test décrit dans l'autre msg, je refais un deuxième,
sans rien
changer (donc, avec la feuille "CF rules".
Et bien, il me crée une feuil4, vide.
Rien de changé dans "CF rules".
Bonne fin de soirée à tous.
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacquouille" a écrit dans le message de groupe de discussion :
nm3ohd$19dc$
Bonsoir,
Une qui revient de Dieu sait d'où....
En feuil1!A1, MEFC = La valeur de la cel est comprise entre 3 et 5 +
couleur
de fond bleu.
Voilà ce que la macro donne chez moi, avec XL 2003.
- création d'une feuille appelée "CF Rules" (Rule qui veut dire en
Wallon,
un mètre)
avec en A1, le mot "sheet"
en B1, le mot" Formula" et en C1, le mot "Range"
En A2, le mot "feuil1"
PLUS un ajustement automatique des 3 premières colonnes.
Donc, pour moi, cette macro me donne le menu, mais il n'y a rien dans
l'assiette !
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Patrick" a écrit dans le message de groupe de discussion :
nm3beg$jk9$
Bonjour,
je suis sous XL2007 et j'ai pêché ce code sur un site mais il ne semble
pas fonctionner chez moi...
Si parmi vous il y a des gens sous 2010-13-16, pourrait-il (elle) le
tester et dire si c'est ok ou pas ?
Merci
Option Explicit
Sub List_Conditional_Formatting_Rules()
Dim ws As Worksheet, wsCF As Worksheet, NR As Long
Dim CFrule As FormatCondition, Rng As Range
On Error Resume Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "CF Rules"
Set wsCF = Sheets("CF Rules")
wsCF.Range("A1:C1").Value = [{"Sheet","Formula","Range"}]
NR = 2
For Each ws In Worksheets
If ws.Name <> "CF Rules" Then
Set Rng = ws.Cells
For Each CFrule In Rng.FormatConditions
wsCF.Range("A" & NR).Value = ws.Name
wsCF.Range("B" & NR).Value = "'" & CFrule.Formula1
wsCF.Range("C" & NR).Value = CFrule.AppliesTo.Address
NR = NR + 1
Next CFrule
End If
Next ws
wsCF.Columns.AutoFit
End Sub
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel
antivirus Avast.
https://www.avast.com/antivirus
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel
antivirus Avast.
https://www.avast.com/antivirus
Avatar
Patrick
Le 13-07-16 à 10:27, Patrick a écrit :
Voilà le fichier d'Isabelle avec le avant et après macro
http://www.cjoint.com/c/FGniFnw6qQH
P.
Avatar
MichD
Pour Excel 2007, utilise cette macro :
Prendre le temps de définir la variable Sh dans la macro.
Si tu tiens à avoir plus d'explications sur la problématique
de ta macro sur Excel 2007, consulte le site de Dick Kusleika.
Cette macro est issue de son site.
http://dailydoseofexcel.com/archives/2010/04/16/listing-format-conditions/
'---------------------------------------------------
Sub ShowConditionalFormatting()
Dim cf As Variant
Dim rCell As Range
Dim colFormats As Collection
Dim i As Long
Dim wsOutput As Worksheet
Dim Sh As Worksheet
'Nom onglet feuille à adapter...
Set Sh = Worksheets("Feuil1")
Set colFormats = New Collection
For Each rCell In
sh.Cells.SpecialCells(xlCellTypeAllFormatConditions).Cells
For i = 1 To rCell.FormatConditions.Count
On Error Resume Next
colFormats.Add rCell.FormatConditions.Item(i),
rCell.FormatConditions(i).AppliesTo.Address
On Error GoTo 0
Next i
Next rCell
Set wsOutput = Workbooks.Add.Worksheets(1)
wsOutput.Range("A1:E1").Value = Array("Type", "Range",
"StopIfTrue", "Formual1", "Formual2")
For i = 1 To colFormats.Count
Set cf = colFormats(i)
With wsOutput.Cells(i + 1, 1)
.Value = FCTypeFromIndex(cf.Type)
.Offset(0, 1).Value = cf.AppliesTo.Address
.Offset(0, 2).Value = cf.StopIfTrue
On Error Resume Next
.Offset(0, 3).Value = "'" & cf.Formula1
.Offset(0, 4).Value = "'" & cf.Formula2
On Error GoTo 0
End With
Next i
wsOutput.UsedRange.EntireColumn.AutoFit
End Sub
'---------------------------------------------------
MichD
Avatar
MichD
| Il y a donc des instructions inconnues de la
| version 2007, c'est ce que je voulais savoir
| et c'est confirmé ici.
Si tu enlèves la ligne de code dans la macro,
"On Error Resume Next"
Tu vas pouvoir identifier la commande qui pose
problème.
MichD
1 2