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

Pb de mise en forme conditionnelle

13 réponses
Avatar
Ben
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex =3D 3
End With
With .Font
.ColorIndex =3D 2
End With
End With
-----------------------------------------------
NB : sumline correspond =E0 un num=E9ro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas o=F9.
Si jamais vous voyez cette erreur, merci d'avance.

10 réponses

1 2
Avatar
papou
Bonjour
Ton code tel quel n'appliquera pas les couleurs que tu veux définir.
Je modifierai comme cela
With Range(Cells(sumLine, "CJ"), Cells(sumLine,"CL"))
.FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
.FormatConditions(1).Font.ColorIndex = 2
.FormatConditions(1).Interior.ColorIndex = 3
End with

Cordialement
Pascal

"Ben" a écrit dans le message de
news:644301c47547$84dc3b90$
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.
Avatar
Emcy
Bonjours Ben,

vu qu'il n'y a pas beaucoup d'éléments, j'utiliserais cette méthode :

Function ColorierCellules(sumLine as integer)

Dim MonObjet As Object

Set MonObjet = Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
MonObjet.Interior.ColorIndex = 3
MonObjet.Font.ColorIndex = 2

End Sub

ça te va ?

"Ben" a écrit dans le message de
news:644301c47547$84dc3b90$
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.
Avatar
Shnoulle
Salut Ben,

Si je ne me trompe, cell accepte Ligne et colonne en long

Donc sumLine doit étre un nombre(>0) et remplace "CJ" par 88

A+


Ben wrote:
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.




Avatar
Emcy
Moi aussi ça m'a étonné mais ça marche

"Shnoulle" a écrit dans le message de
news:%23TyX$
Salut Ben,

Si je ne me trompe, cell accepte Ligne et colonne en long

Donc sumLine doit étre un nombre(>0) et remplace "CJ" par 88

A+


Ben wrote:
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.







Avatar
papou
Bonjour
Pas forcément, voici ce que dit l'aide :
expression.Item(RowIndex, ColumnIndex)

expression Obligatoire. Expression qui renvoie un objet Range.

RowIndex Argument de type Variant obligatoire. Numéro d'index de la
cellule à atteindre, de gauche à droite, puis vers le bas. RangeItem(1)
renvoie la cellule supérieure gauche de la plage ; Range.Item(2) renvoie la
cellule immédiatement à droite de la cellule supérieure gauche.

ColumnIndex Argument de type Variant facultatif. Nombre ou chaîne qui
indique le numéro de colonne de la cellule que vous voulez atteindre, en
commençant par 1 ou « A » pour la première colonne dans la plage.

Cordialement

Pascal

"Shnoulle" a écrit dans le message de
news:%23TyX$
Salut Ben,

Si je ne me trompe, cell accepte Ligne et colonne en long

Donc sumLine doit étre un nombre(>0) et remplace "CJ" par 88

A+


Ben wrote:
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.







Avatar
Shnoulle
Bon dieu,

mais ca change tout !!!

Non plus sérieusement, ca peut faciliter des trucs...

A+


papou wrote:
Bonjour
Pas forcément, voici ce que dit l'aide :
expression.Item(RowIndex, ColumnIndex)

expression Obligatoire. Expression qui renvoie un objet Range.

RowIndex Argument de type Variant obligatoire. Numéro d'index de la
cellule à atteindre, de gauche à droite, puis vers le bas. RangeItem(1)
renvoie la cellule supérieure gauche de la plage ; Range.Item(2) renvoie la
cellule immédiatement à droite de la cellule supérieure gauche.

ColumnIndex Argument de type Variant facultatif. Nombre ou chaîne qui
indique le numéro de colonne de la cellule que vous voulez atteindre, en
commençant par 1 ou « A » pour la première colonne dans la plage.

Cordialement

Pascal

"Shnoulle" a écrit dans le message de
news:%23TyX$

Salut Ben,

Si je ne me trompe, cell accepte Ligne et colonne en long

Donc sumLine doit étre un nombre(>0) et remplace "CJ" par 88

A+


Ben wrote:

Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.











Avatar
Shnoulle
Salut Ben ,

bon j'ai testé, ca marche, la seule chose que j'ai fait c'est rajouté un
sumLine=1 juste avant.

vérifie que tu n'as pas sumLine=0 ou autre chose

un ptit msgbox prompt:=sumLine juste avant pour voir exacstement

A+



Ben wrote:
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.




Avatar
Ben
J'ai essayé ça, mais ça ne marche pas. le message d'erreur
qui s'affiche est : l'objet ou l'application n'est pas défini.

-----Message d'origine-----
Salut Ben,

Si je ne me trompe, cell accepte Ligne et colonne en long

Donc sumLine doit étre un nombre(>0) et remplace "CJ" par 88

A+


Ben wrote:
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.




.




Avatar
papou
Si tu persistes à essayer avec le code tel qu'il était écrit, tu auras
toujours cette erreur puisque ton With n'est pas lié à un objet Range.
As-tu essayé avec ce que je t'ai proposé ?

Cordialement
Pascal

"Ben" a écrit dans le message de
news:681901c47568$10895220$
J'ai essayé ça, mais ça ne marche pas. le message d'erreur
qui s'affiche est : l'objet ou l'application n'est pas défini.

-----Message d'origine-----
Salut Ben,

Si je ne me trompe, cell accepte Ligne et colonne en long

Donc sumLine doit étre un nombre(>0) et remplace "CJ" par 88

A+


Ben wrote:
Bonjour!!

Je voudrais faire une mise en forme conditionnelle par
macro (en VBA).
Voici le code qu'il faut corriger:
-----------------------------------------------
With Range(Cells(sumLine, "CJ"), Cells(sumLine,
"CL")).FormatConditions.Add(xlCellValue, xlGreaterEqual, 40)
With .Interior
.ColorIndex = 3
End With
With .Font
.ColorIndex = 2
End With
End With
-----------------------------------------------
NB : sumline correspond à un numéro de ligne

Apparemment il y a une erreur dans mon premier "With" mais
je ne vois pas où.
Si jamais vous voyez cette erreur, merci d'avance.




.




Avatar
Shnoulle
Salut Ben

Ben wrote:
J'ai essayé ça, mais ça ne marche pas. le message d'erreur
qui s'affiche est : l'objet ou l'application n'est pas défini.


ce qui confirme mon message de 13:53

A+

1 2