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

Changer condition par macro

5 réponses
Avatar
jl.guitard
Bonjour
J'ai fait une gestion de projet avec excel date debut,date fin de tache avec
par cellule un format conditionnel, le nombre de taches par executant peut
varier, je souhaterai faire une macro me permettant de modifier les couleurs
des taches en fonction de l'executant ex pierre Vert Paul rouge
............
cette macro sélectionnerai les lignes et modifierai la condition de couleurs
comme mes lignes sont de deux en deux comment modifier cette condition?
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(H$3>=$D2;H$3<=$G2)"
Selection.FormatConditions(1).Interior.ColorIndex = 21
j'ai essayeé ceci mais il me trouve une erreur

For i= 2 to 56 step 2
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(H$3>="$D" & i;H$3<="$G" & i)"
Selection.FormatConditions(1).Interior.ColorIndex = 21
next i
apparament il ne comprend pas la "$D" & i

merci d'avance

5 réponses

Avatar
JPMonnier
Bonjour,
For i = 2 To 56 Step 2
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=ET(H$3>="
& "$D" & i & ";H$3<=" & "$G" & i & ")"
Selection.FormatConditions(1).Interior.ColorIndex = 21
Next i
cette proc marche pour les 3 conditions maxi d'une MFC
aprés ça plante
il faurt donc incrémenter différemment
--
Cordialement

"jl.guitard" a écrit dans le message de
news:4905aade$0$915$
Bonjour
J'ai fait une gestion de projet avec excel date debut,date fin de tache
avec par cellule un format conditionnel, le nombre de taches par executant
peut varier, je souhaterai faire une macro me permettant de modifier les
couleurs des taches en fonction de l'executant ex pierre Vert Paul rouge
............
cette macro sélectionnerai les lignes et modifierai la condition de
couleurs
comme mes lignes sont de deux en deux comment modifier cette condition?
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(H$3>=$D2;H$3<=$G2)"
Selection.FormatConditions(1).Interior.ColorIndex = 21
j'ai essayeé ceci mais il me trouve une erreur

For i= 2 to 56 step 2
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(H$3>="$D" & i;H$3<="$G" & i)"
Selection.FormatConditions(1).Interior.ColorIndex = 21
next i
apparament il ne comprend pas la "$D" & i

merci d'avance



Avatar
jl.guitard
Merci à JPMonnier c'est parfait

"JPMonnier" a écrit dans le message de news:

Bonjour,
For i = 2 To 56 Step 2
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=ET(H$3>=" & "$D" & i & ";H$3<=" & "$G" & i & ")"
Selection.FormatConditions(1).Interior.ColorIndex = 21
Next i
cette proc marche pour les 3 conditions maxi d'une MFC
aprés ça plante
il faurt donc incrémenter différemment
--
Cordialement

"jl.guitard" a écrit dans le message de
news:4905aade$0$915$
Bonjour
J'ai fait une gestion de projet avec excel date debut,date fin de tache
avec par cellule un format conditionnel, le nombre de taches par
executant peut varier, je souhaterai faire une macro me permettant de
modifier les couleurs des taches en fonction de l'executant ex pierre
Vert Paul rouge ............
cette macro sélectionnerai les lignes et modifierai la condition de
couleurs
comme mes lignes sont de deux en deux comment modifier cette condition?
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(H$3>=$D2;H$3<=$G2)"
Selection.FormatConditions(1).Interior.ColorIndex = 21
j'ai essayeé ceci mais il me trouve une erreur

For i= 2 to 56 step 2
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ET(H$3>="$D" & i;H$3<="$G" & i)"
Selection.FormatConditions(1).Interior.ColorIndex = 21
next i
apparament il ne comprend pas la "$D" & i

merci d'avance






Avatar
legege
Bonjour,

j'ai un peu la même question, à savoir :
je voudrais transcrire la MFC suivante dans une macro ,pour qu'elle se fasse
sur toute une ligne de la colonne C jusqu'à la colonne BL:
mfc si je suis en case C20:
=ET(SI(C$1>0;VRAI;FAUX);SI($A20>"""";VRAI;FAUX))

mfc si je suis en case D20:
=ET(SI(D$1>0;VRAI;FAUX);SI($A20>"""";VRAI;FAUX))

et ainsi de suite...

j'essaye avec cette formule ,mais elle ne marche pas !!

lig = 20
lettre = "ABCDEFGHIJKL"
For i = 3 To 10 'pour tester sur les 10 1ere colonnes
Cells(20, i).Select
col = Mid(lettre, i, 1)
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=ET(SI(" & col
& "$1>0;VRAI;FAUX);SI($A " & lig & ">"""";VRAI;FAUX))"
Selection.FormatConditions(1).Interior.ColorIndex = 21
Next i

pouvez-vous m'aider?
d'avance merci

legege
"JPMonnier" a écrit :

Bonjour,
For i = 2 To 56 Step 2
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=ET(H$3>="
& "$D" & i & ";H$3<=" & "$G" & i & ")"
Selection.FormatConditions(1).Interior.ColorIndex = 21
Next i
cette proc marche pour les 3 conditions maxi d'une MFC
aprés ça plante
il faurt donc incrémenter différemment
--
Cordialement

"jl.guitard" a écrit dans le message de
news:4905aade$0$915$
> Bonjour
> J'ai fait une gestion de projet avec excel date debut,date fin de tache
> avec par cellule un format conditionnel, le nombre de taches par executant
> peut varier, je souhaterai faire une macro me permettant de modifier les
> couleurs des taches en fonction de l'executant ex pierre Vert Paul rouge
> ............
> cette macro sélectionnerai les lignes et modifierai la condition de
> couleurs
> comme mes lignes sont de deux en deux comment modifier cette condition?
> Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
> "=ET(H$3>=$D2;H$3<=$G2)"
> Selection.FormatConditions(1).Interior.ColorIndex = 21
> j'ai essayeé ceci mais il me trouve une erreur
>
> For i= 2 to 56 step 2
> Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
> "=ET(H$3>="$D" & i;H$3<="$G" & i)"
> Selection.FormatConditions(1).Interior.ColorIndex = 21
> next i
> apparament il ne comprend pas la "$D" & i
>
> merci d'avance
>




Avatar
Philippe.R
Bonsoir,
Si par >"""" tu veux dire <>"", alors, sans macro :
sélection de la plage (de Cx à BLz) et mefc / si la formule est :
=ET(C$1>0;$A20<>"") / choix de la mefc / valider
Chaque fois qu'une cellule de la ligne 1 située de la colonne C à la colonne
BL et que dans la colonne A, la cellule correspondant à la ligne considérée
aura une valeur quelconque (non vide), la cellule située à l'intersection de
cette ligne et de cette colonne aura la mefc désirée
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"legege" a écrit dans le message de
news:
Bonjour,

j'ai un peu la même question, à savoir :
je voudrais transcrire la MFC suivante dans une macro ,pour qu'elle se
fasse
sur toute une ligne de la colonne C jusqu'à la colonne BL:
mfc si je suis en case C20:
=ET(SI(C$1>0;VRAI;FAUX);SI($A20>"""";VRAI;FAUX))

mfc si je suis en case D20:
=ET(SI(D$1>0;VRAI;FAUX);SI($A20>"""";VRAI;FAUX))

et ainsi de suite...

j'essaye avec cette formule ,mais elle ne marche pas !!

lig = 20
lettre = "ABCDEFGHIJKL"
For i = 3 To 10 'pour tester sur les 10 1ere colonnes
Cells(20, i).Select
col = Mid(lettre, i, 1)
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=ET(SI(" &
col
& "$1>0;VRAI;FAUX);SI($A " & lig & ">"""";VRAI;FAUX))"
Selection.FormatConditions(1).Interior.ColorIndex = 21
Next i

pouvez-vous m'aider?
d'avance merci

legege
"JPMonnier" a écrit :

Bonjour,
For i = 2 To 56 Step 2
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=ET(H$3>="
& "$D" & i & ";H$3<=" & "$G" & i & ")"
Selection.FormatConditions(1).Interior.ColorIndex = 21
Next i
cette proc marche pour les 3 conditions maxi d'une MFC
aprés ça plante
il faurt donc incrémenter différemment
--
Cordialement

"jl.guitard" a écrit dans le message de
news:4905aade$0$915$
> Bonjour
> J'ai fait une gestion de projet avec excel date debut,date fin de tache
> avec par cellule un format conditionnel, le nombre de taches par
> executant
> peut varier, je souhaterai faire une macro me permettant de modifier
> les
> couleurs des taches en fonction de l'executant ex pierre Vert Paul
> rouge
> ............
> cette macro sélectionnerai les lignes et modifierai la condition de
> couleurs
> comme mes lignes sont de deux en deux comment modifier cette condition?
> Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
> "=ET(H$3>=$D2;H$3<=$G2)"
> Selection.FormatConditions(1).Interior.ColorIndex = 21
> j'ai essayeé ceci mais il me trouve une erreur
>
> For i= 2 to 56 step 2
> Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
> "=ET(H$3>="$D" & i;H$3<="$G" & i)"
> Selection.FormatConditions(1).Interior.ColorIndex = 21
> next i
> apparament il ne comprend pas la "$D" & i
>
> merci d'avance
>






Avatar
legege
Bonjour,

désolé, mais la mfc que j'ai indiquée marche très bien. je ne veux pas la
changer mais la mettre en macro en passant en paramètre la colonne et le
numéro de ligne.
mon problème étant surtout sur la colonne.

merci d'avance pour vos réponses.

legege

"Philippe.R" a écrit :

Bonsoir,
Si par >"""" tu veux dire <>"", alors, sans macro :
sélection de la plage (de Cx à BLz) et mefc / si la formule est :
=ET(C$1>0;$A20<>"") / choix de la mefc / valider
Chaque fois qu'une cellule de la ligne 1 située de la colonne C à la colonne
BL et que dans la colonne A, la cellule correspondant à la ligne considérée
aura une valeur quelconque (non vide), la cellule située à l'intersection de
cette ligne et de cette colonne aura la mefc désirée
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"legege" a écrit dans le message de
news:
> Bonjour,
>
> j'ai un peu la même question, à savoir :
> je voudrais transcrire la MFC suivante dans une macro ,pour qu'elle se
> fasse
> sur toute une ligne de la colonne C jusqu'à la colonne BL:
> mfc si je suis en case C20:
> =ET(SI(C$1>0;VRAI;FAUX);SI($A20>"""";VRAI;FAUX))
>
> mfc si je suis en case D20:
> =ET(SI(D$1>0;VRAI;FAUX);SI($A20>"""";VRAI;FAUX))
>
> et ainsi de suite...
>
> j'essaye avec cette formule ,mais elle ne marche pas !!
>
> lig = 20
> lettre = "ABCDEFGHIJKL"
> For i = 3 To 10 'pour tester sur les 10 1ere colonnes
> Cells(20, i).Select
> col = Mid(lettre, i, 1)
> Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=ET(SI(" &
> col
> & "$1>0;VRAI;FAUX);SI($A " & lig & ">"""";VRAI;FAUX))"
> Selection.FormatConditions(1).Interior.ColorIndex = 21
> Next i
>
> pouvez-vous m'aider?
> d'avance merci
>
> legege
> "JPMonnier" a écrit :
>
>> Bonjour,
>> For i = 2 To 56 Step 2
>> Selection.FormatConditions.Add Type:=xlExpression,
>> Formula1:="=ET(H$3>="
>> & "$D" & i & ";H$3<=" & "$G" & i & ")"
>> Selection.FormatConditions(1).Interior.ColorIndex = 21
>> Next i
>> cette proc marche pour les 3 conditions maxi d'une MFC
>> aprés ça plante
>> il faurt donc incrémenter différemment
>> --
>> Cordialement
>>
>> "jl.guitard" a écrit dans le message de
>> news:4905aade$0$915$
>> > Bonjour
>> > J'ai fait une gestion de projet avec excel date debut,date fin de tache
>> > avec par cellule un format conditionnel, le nombre de taches par
>> > executant
>> > peut varier, je souhaterai faire une macro me permettant de modifier
>> > les
>> > couleurs des taches en fonction de l'executant ex pierre Vert Paul
>> > rouge
>> > ............
>> > cette macro sélectionnerai les lignes et modifierai la condition de
>> > couleurs
>> > comme mes lignes sont de deux en deux comment modifier cette condition?
>> > Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
>> > "=ET(H$3>=$D2;H$3<=$G2)"
>> > Selection.FormatConditions(1).Interior.ColorIndex = 21
>> > j'ai essayeé ceci mais il me trouve une erreur
>> >
>> > For i= 2 to 56 step 2
>> > Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
>> > "=ET(H$3>="$D" & i;H$3<="$G" & i)"
>> > Selection.FormatConditions(1).Interior.ColorIndex = 21
>> > next i
>> > apparament il ne comprend pas la "$D" & i
>> >
>> > merci d'avance
>> >
>>
>>