Bonsoir Jacky et merci pour cette réponse rapide, courte et efficace.
J'ai découvert de nouveaux "petits problèmes"... :
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto" s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
2 - si on saisie "toto" dans A1 et que l'on fait une recopie en bas (par
ex), seule la première cellule provoque la MEFC !
3 - si on saisit successivement "toto" dans A1, A2, A3, etc, la MEFC
s'applique, mais si on efface la zone précédemment saisie, la MEFC ne
change
pas alors que "toto" ne figure plus dans la cellule cible ! Et pire, si on
supprime le contenu de cette zone et de cellule adjacentes, cela provoque
des MEFC !!!
Rappel du code en cours (légèrement modifé en fonction de tes réponses) :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Column = 1 Then
If Target.Value = "toto" Then
Target(1, 4).Interior.ColorIndex = 30
Target(1, 5).Interior.ColorIndex = 28
'Target.Font.ColorIndex = 2 (modifie cellule de saisie !)
ElseIf Target.Value = "titi" Then
Target(1, 4).Interior.ColorIndex = 32
Target(1, 5).Interior.ColorIndex = 29
'Target.Font.ColorIndex = 2
Else
Target(1, 4).Interior.ColorIndex = Null
Target(1, 5).Interior.ColorIndex = Null
Target.Font.ColorIndex = 1
End If
End If
End Sub
D'avance, un grand merci
Bonsoir Jacky et merci pour cette réponse rapide, courte et efficace.
J'ai découvert de nouveaux "petits problèmes"... :
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto" s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
2 - si on saisie "toto" dans A1 et que l'on fait une recopie en bas (par
ex), seule la première cellule provoque la MEFC !
3 - si on saisit successivement "toto" dans A1, A2, A3, etc, la MEFC
s'applique, mais si on efface la zone précédemment saisie, la MEFC ne
change
pas alors que "toto" ne figure plus dans la cellule cible ! Et pire, si on
supprime le contenu de cette zone et de cellule adjacentes, cela provoque
des MEFC !!!
Rappel du code en cours (légèrement modifé en fonction de tes réponses) :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Column = 1 Then
If Target.Value = "toto" Then
Target(1, 4).Interior.ColorIndex = 30
Target(1, 5).Interior.ColorIndex = 28
'Target.Font.ColorIndex = 2 (modifie cellule de saisie !)
ElseIf Target.Value = "titi" Then
Target(1, 4).Interior.ColorIndex = 32
Target(1, 5).Interior.ColorIndex = 29
'Target.Font.ColorIndex = 2
Else
Target(1, 4).Interior.ColorIndex = Null
Target(1, 5).Interior.ColorIndex = Null
Target.Font.ColorIndex = 1
End If
End If
End Sub
D'avance, un grand merci
Bonsoir Jacky et merci pour cette réponse rapide, courte et efficace.
J'ai découvert de nouveaux "petits problèmes"... :
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto" s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
2 - si on saisie "toto" dans A1 et que l'on fait une recopie en bas (par
ex), seule la première cellule provoque la MEFC !
3 - si on saisit successivement "toto" dans A1, A2, A3, etc, la MEFC
s'applique, mais si on efface la zone précédemment saisie, la MEFC ne
change
pas alors que "toto" ne figure plus dans la cellule cible ! Et pire, si on
supprime le contenu de cette zone et de cellule adjacentes, cela provoque
des MEFC !!!
Rappel du code en cours (légèrement modifé en fonction de tes réponses) :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Column = 1 Then
If Target.Value = "toto" Then
Target(1, 4).Interior.ColorIndex = 30
Target(1, 5).Interior.ColorIndex = 28
'Target.Font.ColorIndex = 2 (modifie cellule de saisie !)
ElseIf Target.Value = "titi" Then
Target(1, 4).Interior.ColorIndex = 32
Target(1, 5).Interior.ColorIndex = 29
'Target.Font.ColorIndex = 2
Else
Target(1, 4).Interior.ColorIndex = Null
Target(1, 5).Interior.ColorIndex = Null
Target.Font.ColorIndex = 1
End If
End If
End Sub
D'avance, un grand merci
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto"
s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
Re..
Puisque tu tiens à un code événementiel.......
Ceci pourrait convenir,
Les 'Offset' sont à adapter..
'---------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
'-----------
Bon courage
JJ
"j-pascal" a écrit dans le message de
news:%Bonsoir Jacky et merci pour cette réponse rapide, courte et efficace.
J'ai découvert de nouveaux "petits problèmes"... :
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto"
s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
2 - si on saisie "toto" dans A1 et que l'on fait une recopie en bas (par
ex), seule la première cellule provoque la MEFC !
3 - si on saisit successivement "toto" dans A1, A2, A3, etc, la MEFC
s'applique, mais si on efface la zone précédemment saisie, la MEFC ne
changepas alors que "toto" ne figure plus dans la cellule cible ! Et pire, si
on
supprime le contenu de cette zone et de cellule adjacentes, cela
provoque
des MEFC !!!
Rappel du code en cours (légèrement modifé en fonction de tes réponses)
:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Column = 1 Then
If Target.Value = "toto" Then
Target(1, 4).Interior.ColorIndex = 30
Target(1, 5).Interior.ColorIndex = 28
'Target.Font.ColorIndex = 2 (modifie cellule de saisie !)
ElseIf Target.Value = "titi" Then
Target(1, 4).Interior.ColorIndex = 32
Target(1, 5).Interior.ColorIndex = 29
'Target.Font.ColorIndex = 2
Else
Target(1, 4).Interior.ColorIndex = Null
Target(1, 5).Interior.ColorIndex = Null
Target.Font.ColorIndex = 1
End If
End If
End Sub
D'avance, un grand merci
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto"
s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
Re..
Puisque tu tiens à un code événementiel.......
Ceci pourrait convenir,
Les 'Offset' sont à adapter..
'---------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
'-----------
Bon courage
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:%23xGqgfVDFHA.2032@tk2msftngp13.phx.gbl...
Bonsoir Jacky et merci pour cette réponse rapide, courte et efficace.
J'ai découvert de nouveaux "petits problèmes"... :
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto"
s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
2 - si on saisie "toto" dans A1 et que l'on fait une recopie en bas (par
ex), seule la première cellule provoque la MEFC !
3 - si on saisit successivement "toto" dans A1, A2, A3, etc, la MEFC
s'applique, mais si on efface la zone précédemment saisie, la MEFC ne
change
pas alors que "toto" ne figure plus dans la cellule cible ! Et pire, si
on
supprime le contenu de cette zone et de cellule adjacentes, cela
provoque
des MEFC !!!
Rappel du code en cours (légèrement modifé en fonction de tes réponses)
:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Column = 1 Then
If Target.Value = "toto" Then
Target(1, 4).Interior.ColorIndex = 30
Target(1, 5).Interior.ColorIndex = 28
'Target.Font.ColorIndex = 2 (modifie cellule de saisie !)
ElseIf Target.Value = "titi" Then
Target(1, 4).Interior.ColorIndex = 32
Target(1, 5).Interior.ColorIndex = 29
'Target.Font.ColorIndex = 2
Else
Target(1, 4).Interior.ColorIndex = Null
Target(1, 5).Interior.ColorIndex = Null
Target.Font.ColorIndex = 1
End If
End If
End Sub
D'avance, un grand merci
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto"
s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
Re..
Puisque tu tiens à un code événementiel.......
Ceci pourrait convenir,
Les 'Offset' sont à adapter..
'---------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
'-----------
Bon courage
JJ
"j-pascal" a écrit dans le message de
news:%Bonsoir Jacky et merci pour cette réponse rapide, courte et efficace.
J'ai découvert de nouveaux "petits problèmes"... :
1 - si dans "A1" on met la formule "=si(B1=0;"toto";"")", "toto"
s'inscrit
dans A1 quand B1=0, mais cela ne provoque pas de MEFC !
2 - si on saisie "toto" dans A1 et que l'on fait une recopie en bas (par
ex), seule la première cellule provoque la MEFC !
3 - si on saisit successivement "toto" dans A1, A2, A3, etc, la MEFC
s'applique, mais si on efface la zone précédemment saisie, la MEFC ne
changepas alors que "toto" ne figure plus dans la cellule cible ! Et pire, si
on
supprime le contenu de cette zone et de cellule adjacentes, cela
provoque
des MEFC !!!
Rappel du code en cours (légèrement modifé en fonction de tes réponses)
:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
If Target.Column = 1 Then
If Target.Value = "toto" Then
Target(1, 4).Interior.ColorIndex = 30
Target(1, 5).Interior.ColorIndex = 28
'Target.Font.ColorIndex = 2 (modifie cellule de saisie !)
ElseIf Target.Value = "titi" Then
Target(1, 4).Interior.ColorIndex = 32
Target(1, 5).Interior.ColorIndex = 29
'Target.Font.ColorIndex = 2
Else
Target(1, 4).Interior.ColorIndex = Null
Target(1, 5).Interior.ColorIndex = Null
Target.Font.ColorIndex = 1
End If
End If
End Sub
D'avance, un grand merci
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient "claires"...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient "claires"...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient "claires"...
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre ligne...
Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dans
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en fonction
d'une formule et jamais après saisie ! En fait, selon vba, le toto saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre ligne...Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre ligne...
Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dans
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en fonction
d'une formule et jamais après saisie ! En fait, selon vba, le toto saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre ligne...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre ligne...
Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dans
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en fonction
d'une formule et jamais après saisie ! En fait, selon vba, le toto saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre ligne...Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
Normal, l'excecution du code se fait selon le controle de la colonne
target,
ici colonne A.
Avec une entrée conditionnelle en colonne B target devient B, d'ou la
necessité de faire le controle sur la colonne d'entrée(target) et non pas
sur la colonne cible(A)
If Target.Column = 1 Then doit être la colonne d'entrée, ici colonne A
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Si, si avec le dernier code, à condition que 'toto' soit en colonne A et
que
le controle de target soit la / les colonne(s) d'entrée.
JJ
"j-pascal" a écrit dans le message de
news:%Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dansl'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors
on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en
fonction
d'une formule et jamais après saisie ! En fait, selon vba, le toto saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
Normal, l'excecution du code se fait selon le controle de la colonne
target,
ici colonne A.
Avec une entrée conditionnelle en colonne B target devient B, d'ou la
necessité de faire le controle sur la colonne d'entrée(target) et non pas
sur la colonne cible(A)
If Target.Column = 1 Then doit être la colonne d'entrée, ici colonne A
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Si, si avec le dernier code, à condition que 'toto' soit en colonne A et
que
le controle de target soit la / les colonne(s) d'entrée.
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:%23hW3oZhDFHA.3908@TK2MSFTNGP15.phx.gbl...
Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dans
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors
on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en
fonction
d'une formule et jamais après saisie ! En fait, selon vba, le toto saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
Normal, l'excecution du code se fait selon le controle de la colonne
target,
ici colonne A.
Avec une entrée conditionnelle en colonne B target devient B, d'ou la
necessité de faire le controle sur la colonne d'entrée(target) et non pas
sur la colonne cible(A)
If Target.Column = 1 Then doit être la colonne d'entrée, ici colonne A
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Si, si avec le dernier code, à condition que 'toto' soit en colonne A et
que
le controle de target soit la / les colonne(s) d'entrée.
JJ
"j-pascal" a écrit dans le message de
news:%Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dansl'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors
on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto" (qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en
fonction
d'une formule et jamais après saisie ! En fait, selon vba, le toto saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
un motif, si la colonne 4 affiche "FIN".
Si tu veux un motif quand colonne 4 affiche "fin", sur les dix colonnes ou
J'ai besoin d'une MEFC pour toute la ligne (10 colonnes, mais pas plus !),
Dans quelle condition cette MFC ??
Normal, l'excecution du code se fait selon le controle de la colonne
target,ici colonne A.
Avec une entrée conditionnelle en colonne B target devient B, d'ou la
necessité de faire le controle sur la colonne d'entrée(target) et non
pas
sur la colonne cible(A)
If Target.Column = 1 Then doit être la colonne d'entrée, ici colonne A
C'est dur pour mon petit cerveau...
Tu veux dire que si les valeurs de la colonne A sont "dépendantes" d'une
autre colonne, c'est cette autre colonne qui est la target ?? Ca devient
compliqué ! Je te résume mon application. (très synthétiquement) : j'ai un
tableau de 10 colonnes. Dans la colonne 5, j'ai des dates. Dans la colonne
4
j'affiche "FIN" si la date de la colonne 5 est antérieure à la date
d'aujourd'hui, etc pour toute la colonne... En D1 (D2, etc) j'ai
=(si(E1<aujourdhui();"FIN";"")). J'ai besoin d'une MEFC pour toute la
ligne
(10 colonnes, mais pas plus !), un motif, si la colonne 4 affiche "FIN".
Précision, quand je génére un tri de mon tableau, les lignes
n'apparaissent
pas dans le même ordre, la MEFC ne doit donc pas "persister" car pour la
nouvelle ligne, la condition n'est peut-être plus remplie pour avoir le
mot
"FIN".
Tu vas peut-être me dire que dans ce cas, je dois faire une requête non
plus
sur un mot ("FIN") mais directement sur la date ?
Dans l'attente fébrile de ta réponse (éventuelle), je te souhaite une
bonne
journée. A+Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change
pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Si, si avec le dernier code, à condition que 'toto' soit en colonne A et
quele controle de target soit la / les colonne(s) d'entrée.
JJ
"j-pascal" a écrit dans le message de
news:%Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dansl'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors
onest d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto"
(qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en
fonctiond'une formule et jamais après saisie ! En fait, selon vba, le toto
saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette
ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change
pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
un motif, si la colonne 4 affiche "FIN".
Si tu veux un motif quand colonne 4 affiche "fin", sur les dix colonnes ou
J'ai besoin d'une MEFC pour toute la ligne (10 colonnes, mais pas plus !),
Dans quelle condition cette MFC ??
Normal, l'excecution du code se fait selon le controle de la colonne
target,
ici colonne A.
Avec une entrée conditionnelle en colonne B target devient B, d'ou la
necessité de faire le controle sur la colonne d'entrée(target) et non
pas
sur la colonne cible(A)
If Target.Column = 1 Then doit être la colonne d'entrée, ici colonne A
C'est dur pour mon petit cerveau...
Tu veux dire que si les valeurs de la colonne A sont "dépendantes" d'une
autre colonne, c'est cette autre colonne qui est la target ?? Ca devient
compliqué ! Je te résume mon application. (très synthétiquement) : j'ai un
tableau de 10 colonnes. Dans la colonne 5, j'ai des dates. Dans la colonne
4
j'affiche "FIN" si la date de la colonne 5 est antérieure à la date
d'aujourd'hui, etc pour toute la colonne... En D1 (D2, etc) j'ai
=(si(E1<aujourdhui();"FIN";"")). J'ai besoin d'une MEFC pour toute la
ligne
(10 colonnes, mais pas plus !), un motif, si la colonne 4 affiche "FIN".
Précision, quand je génére un tri de mon tableau, les lignes
n'apparaissent
pas dans le même ordre, la MEFC ne doit donc pas "persister" car pour la
nouvelle ligne, la condition n'est peut-être plus remplie pour avoir le
mot
"FIN".
Tu vas peut-être me dire que dans ce cas, je dois faire une requête non
plus
sur un mot ("FIN") mais directement sur la date ?
Dans l'attente fébrile de ta réponse (éventuelle), je te souhaite une
bonne
journée. A+
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change
pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Si, si avec le dernier code, à condition que 'toto' soit en colonne A et
que
le controle de target soit la / les colonne(s) d'entrée.
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:%23hW3oZhDFHA.3908@TK2MSFTNGP15.phx.gbl...
Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dans
l'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors
on
est d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto"
(qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en
fonction
d'une formule et jamais après saisie ! En fait, selon vba, le toto
saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette
ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change
pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...
un motif, si la colonne 4 affiche "FIN".
Si tu veux un motif quand colonne 4 affiche "fin", sur les dix colonnes ou
J'ai besoin d'une MEFC pour toute la ligne (10 colonnes, mais pas plus !),
Dans quelle condition cette MFC ??
Normal, l'excecution du code se fait selon le controle de la colonne
target,ici colonne A.
Avec une entrée conditionnelle en colonne B target devient B, d'ou la
necessité de faire le controle sur la colonne d'entrée(target) et non
pas
sur la colonne cible(A)
If Target.Column = 1 Then doit être la colonne d'entrée, ici colonne A
C'est dur pour mon petit cerveau...
Tu veux dire que si les valeurs de la colonne A sont "dépendantes" d'une
autre colonne, c'est cette autre colonne qui est la target ?? Ca devient
compliqué ! Je te résume mon application. (très synthétiquement) : j'ai un
tableau de 10 colonnes. Dans la colonne 5, j'ai des dates. Dans la colonne
4
j'affiche "FIN" si la date de la colonne 5 est antérieure à la date
d'aujourd'hui, etc pour toute la colonne... En D1 (D2, etc) j'ai
=(si(E1<aujourdhui();"FIN";"")). J'ai besoin d'une MEFC pour toute la
ligne
(10 colonnes, mais pas plus !), un motif, si la colonne 4 affiche "FIN".
Précision, quand je génére un tri de mon tableau, les lignes
n'apparaissent
pas dans le même ordre, la MEFC ne doit donc pas "persister" car pour la
nouvelle ligne, la condition n'est peut-être plus remplie pour avoir le
mot
"FIN".
Tu vas peut-être me dire que dans ce cas, je dois faire une requête non
plus
sur un mot ("FIN") mais directement sur la date ?
Dans l'attente fébrile de ta réponse (éventuelle), je te souhaite une
bonne
journée. A+Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change
pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...
Si, si avec le dernier code, à condition que 'toto' soit en colonne A et
quele controle de target soit la / les colonne(s) d'entrée.
JJ
"j-pascal" a écrit dans le message de
news:%Bonsoir Jacky et merci. Sur ce dernier point, je me suis mal expliqué.
Dansl'exemple : si dans "A1" on met la formule "=si(B1=0;"toto";""), alors
onest d'accord que "toto" s'inscrit dans A1 si B1=0 ! Mais le "toto"
(qui
apparait bien dans la colonne 1) n'entraine pas de MEFC ! Et dans
l'application que je veux traiter, les "toto" apparaissent tjs en
fonctiond'une formule et jamais après saisie ! En fait, selon vba, le toto
saisi
n'est pas égal à un toto formule... Par contre la MEFC pour cette
ligne
fonctionne si on saisit un "toto" dans une autre ligne !
Par ailleurs, quand je supprime les toto (suppr), la MEFC ne change
pas
spontanément mais sous l'effet d'une autre action, sur une autre
ligne...Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c.Value = "toto" Then
c.Offset(0, 4).Interior.ColorIndex = 30
c.Offset(0, 5).Interior.ColorIndex = 28
c.Font.ColorIndex = 2 '(modifie cellule de saisie !)
ElseIf c.Value = "titi" Then
c.Offset(0, 4).Interior.ColorIndex = 32
c.Offset(0, 5).Interior.ColorIndex = 29
c.Font.ColorIndex = 2
Else
c.Offset(0, 4).Interior.ColorIndex = Null
c.Offset(0, 5).Interior.ColorIndex = Null
c.Font.ColorIndex = 1
End If
Next
End If
End Sub
Peut-être à bientôt... en espérant que mes explications soient
"claires"...