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

Mise en forme conditionnelle avec + de 3 criteres

4 réponses
Avatar
candre1979
Bonjour =E0 tous,

J'ai un petit probleme avec une macro que j'ai trouv=E9 sur le net et
qui me permet de faire du remplissage de couleur de cellules avec + de
3 conditions (la mise en forme conditionnelle d'excel s'arrete a 3
conditions)
La macro que j'ai trouv=E9 me convient bien, le seul probleme c'est que
je cherche =E0 colorier les cellules en fonction du chiffre apres la
virgule des cellules scann=E9es. j'ai essay=E9 de mettre ' * ' ou ' ?'
avant la virgule (Cf macro ci dessous) et excel ne comprend pas.

je connais les formules excel type : droite(xxx,1)=3D"1" pour chercher
les valeurs type *,1 mais je ne sais pas comment l'ecrire en VBA

Voila je suis un peu bloqu=E9 , merci =E0 tous pour votre aide






----------------------------------------------------------------------------=
------------------------
Sub definirremplissage()
'
' definirremplissage Macro
' Macro enregistr=E9e le 04/05/2003 par tigroo
Range("a1:a10").Select
Range("a1").Activate
Dim lacellule As Range
For Each lacellule In Selection
couleurderemplissage =3D lacellule
Next lacellule
Range("a1:a1").Select
Range("a1").Activate
'
End Sub

Property Let couleurderemplissage(lacellule As Range)
Dim indexcouleur As Integer
Select Case lacellule.Value

Case "*,1"
indexcouleur =3D 4
Case "*,2"
indexcouleur =3D 8
Case "*,3"
indexcouleur =3D 6
Case "*,4"
indexcouleur =3D 5
Case "*,5"
indexcouleur =3D 9
Case Else
indexcouleur =3D xlColorIndexNone

End Select
lacellule.Interior.ColorIndex =3D indexcouleur
End Property
----------------------------------------------------------------------------=
------------------------

4 réponses

Avatar
Ellimac
Bonjour,
^
Peut-être :
Select Case Right(lacellule.Value,2)

Camille




Bonjour à tous,

J'ai un petit probleme avec une macro que j'ai trouvé sur le net et
qui me permet de faire du remplissage de couleur de cellules avec + de
3 conditions (la mise en forme conditionnelle d'excel s'arrete a 3
conditions)
La macro que j'ai trouvé me convient bien, le seul probleme c'est que
je cherche à colorier les cellules en fonction du chiffre apres la
virgule des cellules scannées. j'ai essayé de mettre ' * ' ou ' ?'
avant la virgule (Cf macro ci dessous) et excel ne comprend pas.

je connais les formules excel type : droite(xxx,1)="1" pour chercher
les valeurs type *,1 mais je ne sais pas comment l'ecrire en VBA

Voila je suis un peu bloqué , merci à tous pour votre aide






----------------------------------------------------------------------------------------------------
Sub definirremplissage()
'
' definirremplissage Macro
' Macro enregistrée le 04/05/2003 par tigroo
Range("a1:a10").Select
Range("a1").Activate
Dim lacellule As Range
For Each lacellule In Selection
couleurderemplissage = lacellule
Next lacellule
Range("a1:a1").Select
Range("a1").Activate
'
End Sub

Property Let couleurderemplissage(lacellule As Range)
Dim indexcouleur As Integer
Select Case lacellule.Value

Case "*,1"
indexcouleur = 4
Case "*,2"
indexcouleur = 8
Case "*,3"
indexcouleur = 6
Case "*,4"
indexcouleur = 5
Case "*,5"
indexcouleur = 9
Case Else
indexcouleur = xlColorIndexNone

End Select
lacellule.Interior.ColorIndex = indexcouleur
End Property
----------------------------------------------------------------------------------------------------



Avatar
tigroo
On 19 nov, 18:15, Ellimac wrote:
Bonjour,
^
Peut-être :
Select Case Right(lacellule.Value,2)

Camille




Bonjour à tous,

J'ai un petit probleme avec une macro que j'ai trouvé sur le net et
qui me permet de faire du remplissage de couleur de cellules avec + de
3 conditions (la mise en forme conditionnelle d'excel s'arrete a 3
conditions)
La macro que j'ai trouvé me convient bien, le seul probleme c'est que
je cherche à colorier les cellules en fonction du chiffre apres la
virgule des cellules scannées. j'ai essayé de mettre ' * ' ou ' ?'
avant la virgule (Cf macro ci dessous) et excel ne comprend pas.

je connais les formules excel type : droite(xxx,1)="1" pour chercher
les valeurs type *,1 mais je ne sais pas comment l'ecrire en VBA

Voila je suis un peu bloqué , merci à tous pour votre aide

------------------------------------------------------------------------ -----------------------------
Sub definirremplissage()
'
' definirremplissage Macro
' Macro enregistrée le 04/05/2003 par tigroo
Range("a1:a10").Select
Range("a1").Activate
Dim lacellule As Range
For Each lacellule In Selection
couleurderemplissage = lacellule
Next lacellule
Range("a1:a1").Select
Range("a1").Activate
'
End Sub

Property Let couleurderemplissage(lacellule As Range)
Dim indexcouleur As Integer
Select Case lacellule.Value

Case "*,1"
indexcouleur = 4
Case "*,2"
indexcouleur = 8
Case "*,3"
indexcouleur = 6
Case "*,4"
indexcouleur = 5
Case "*,5"
indexcouleur = 9
Case Else
indexcouleur = xlColorIndexNone

End Select
lacellule.Interior.ColorIndex = indexcouleur
End Property
------------------------------------------------------------------------ ------------------------------ Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Merci Camille,

Je pense aussi qu'il faut surement ecrire une formule de ce type , par
contre en VBA je suis pas très fort...

si je devais faire une recherche afin de trouver une valeur qui finit
par "*,5" , j'ai ecris
Case Right(lacellule.Value, 1) = "5"

Mais cela ne marche pas , j'ai du surement me planté quelque part ....

Merci de votre aide


Avatar
tigroo
On 19 nov, 21:50, "Modeste" wrote:
Bonsour(R) avec ferveur ;o))) vous nous disiez :

Bonjour à tous,

J'ai un petit probleme avec une macro que j'ai trouvé sur le net et
qui me permet de faire du remplissage de couleur de cellules avec + de
3 conditions (la mise en forme conditionnelle d'excel s'arrete a 3
conditions)
La macro que j'ai trouvé me convient bien, le seul probleme c'est que
je cherche à colorier les cellules en fonction du chiffre apres la
virgule des cellules scannées. j'ai essayé de mettre ' * ' ou ' ?'
avant la virgule (Cf macro ci dessous) et excel ne comprend pas.


Property Let couleurderemplissage(lacellule As Range)
Dim indexcouleur As Integer
'**************************************
' pour tenir compte des dixiémes
' on prend le modulo 10 de la partie entière de la valeur multipliée p ar 10
' pour les centièmes
' on prend le modulo 10 de la partie entière de la valeur multipliée p ar 100
'**************************************
Select Case Int(10*lacellule.Value) MOD 10
Case 1
indexcouleur = 4
Case 2
indexcouleur = 8
Case 3
indexcouleur = 6
Case 4
indexcouleur = 5
Case 5
indexcouleur = 9
Case Else
indexcouleur = xlColorIndexNone

End Select
lacellule.Interior.ColorIndex = indexcouleur
End Property

mais pourquoi passer par property ???
))
Sub GD_definirremplissage()
Dim lacellule As Range
Range("a1:a10").Select
For Each lacellule In Selection
lacellule.Interior.ColorIndex = Choose(1 + Int(lacellule * 10) Mod
10,xlNone, 4, 8, 6, 5, 9, xlNone, xlNone, xlNone, xlNone)
Next lacellule
Range("a1").Select
End Sub
--
@+
))

--
--
@+
;o)))

begin 666 clown.gif
M1TE&.#EA#P`/`/?_`/_____^_O[_/[[_/[Z^_SS]?ON?OM/OL[_KK[OGY
M^?GX^/CW]_CGZO?;X/'#S/"_R>_O[^Z]QNOFY^G0U>C#RN?FYN2+G.'&R^&2
MHN#@X.#:V^"FL=^&E]]TB=ZSN]Z8I=W=W=W;W-VAK=V/GMIA>=IA>-C8V-C "
MQMBYO]A?=M?0TM;&R=6[P-33T]2YOM-"7M+2TM) 7="[OXL2W"Q,TK2S,
MS,<C(R,?%QL<-,<7$Q,6PM,3$Q,0"*,/#P'!P;^^OKRO+R[N[N[N[NZ
MNK&QL;&EIZ^OKZNKJZ6EI:6DI**1E:&AH9R7F)J:FIB8F):6EI"0D(Z.CHV)
MBHN+BXF)B8:#A(2$A(*"@H& @7]R=7Y^?GU]?6YK;&P`%61D9&)B8EQ<7%55
M55-34T]/3TY.3DU*2DE'2$4`#4 `##TZ.S<O,3,O,"N+B`"2P`""LD)
M)"@`!R<D)2 @(!X>'AP<'!P`!AL:&A0.#Q0,#A,`! P``@D``@<``08``00`
M`0(``````,# P ``````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````"'Y! $``(4`+ `````/```0 C5``L)/,*%S1U
M=])P.2*PT)T57[A4Z "#*)[<$7*'RQ@`@/!3A] @"*0X5*("ALL
M-W0(F3FS"QLJ`ETN`0F@)R `4FXZ# $`004P.'; 4$,A1 @==[J0"8%E3Y,6
M+UX@:9-&QJ&! TB9+.P84XV883T+)!DC-!"1]CL!(D@@H&?0-G$30*@@ ,U
M'DI<@-/ @@4H; `5H,)"0HD=/VADP+#B30A ;*#HV-/C`(U+4J!/&99*7
:*Y:8D=.FSDL=-AFV9&.&2A(=2;"8>1L0`#L`
`
end


Bonjour Modeste,

Je te remercie beaucoup pour ton aide !!
En fait je suis vraiment un debutant dans VBA... je trouvé ce code tel
quel sur le net ,j'ai essayé de le comprendre mais je t'avouerai y'a
certainement certaines choses qui n'ont echappé dont le property...LOL

En tout cas j'ai testé tes indications, ca n'a pas marché du premier
coup...normal ... mais avec un peu de reflexion , j'ai reussi a le
faire fonctionner !! c'est un grand pas pour moi qui va pas mal
m'aider!

Encore une fois,je te remercie encore une fois pour ton aide et pour
le temps que tu as passé sur mon petit cas d'école...

Merci et bonne journée à toi

<TiGrOo Woods>


Avatar
Corto
Bonjour ,
Tu peux procéder ainsi
Select Case LaCellule.Value - Fix(LaCellule.Value) ' ---| Pour élim iner la partie entière |---
Case 0.1 To 0.2 ' ---| Pour ignorer les chiffres inférieu r aux 1/10 |---
indexcouleur = 4
Case 0.2 To 0.3
indexcouleur = 8
Case 0.3 To 0.4
indexcouleur = 6
Case 0.4 To 0.5
indexcouleur = 5
Case 0.5 To 0.6
indexcouleur = 9
Case Else
indexcouleur = xlColorIndexNone
End Select

Corto

Bonjour à tous,

J'ai un petit probleme avec une macro que j'ai trouvé sur le net et
qui me permet de faire du remplissage de couleur de cellules avec + de
3 conditions (la mise en forme conditionnelle d'excel s'arrete a 3
conditions)
La macro que j'ai trouvé me convient bien, le seul probleme c'est que
je cherche à colorier les cellules en fonction du chiffre apres la
virgule des cellules scannées. j'ai essayé de mettre ' * ' ou ' ?'
avant la virgule (Cf macro ci dessous) et excel ne comprend pas.

je connais les formules excel type : droite(xxx,1)="1" pour chercher
les valeurs type *,1 mais je ne sais pas comment l'ecrire en VBA

Voila je suis un peu bloqué , merci à tous pour votre aide






----------------------------------------------------------------------- -----------------------------
Sub definirremplissage()
'
' definirremplissage Macro
' Macro enregistrée le 04/05/2003 par tigroo
Range("a1:a10").Select
Range("a1").Activate
Dim lacellule As Range
For Each lacellule In Selection
couleurderemplissage = lacellule
Next lacellule
Range("a1:a1").Select
Range("a1").Activate
'
End Sub

Property Let couleurderemplissage(lacellule As Range)
Dim indexcouleur As Integer
Select Case lacellule.Value

Case "*,1"
indexcouleur = 4
Case "*,2"
indexcouleur = 8
Case "*,3"
indexcouleur = 6
Case "*,4"
indexcouleur = 5
Case "*,5"
indexcouleur = 9
Case Else
indexcouleur = xlColorIndexNone

End Select
lacellule.Interior.ColorIndex = indexcouleur
End Property
----------------------------------------------------------------------- -----------------------------