[VB] modifier le format de cellules losqu'une condition est remplie
6 réponses
Jean-François LEGRAS
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères
du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,
30)).Font.ColorIndex = 2
End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non
plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Jean-François LEGRAS" a écrit dans le message de news:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Jean-François LEGRAS" <jflegras@gmail.com> a écrit dans le message de news:
urNr9TLcIHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les
caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,
30)).Font.ColorIndex = 2
End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non
plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Jean-François LEGRAS" a écrit dans le message de news:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
francois.forcet
On 16 fév, 17:02, "Jean-François LEGRAS" wrote:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caract ères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Salut JF
J'ai essayé ton code Si tu veux que les caractères des champs U:AE soient colorés en fonction de la variable "e" il faut que ta ligne : Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,> 30)).Font.ColorIndex = 2 suive la variable "e" et notamment ta cellule active Ce qui n'est pas le cas
Je te propose ton code modifié ainsi :
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range("U" & e.Row, "AE" & e.Row).Font.ColorIndex = 2 End If Next
Celà devrait mieux aller
Dis moi !!!!
On 16 fév, 17:02, "Jean-François LEGRAS" <jfleg...@gmail.com> wrote:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caract ères
du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,
30)).Font.ColorIndex = 2
End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non
plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Salut JF
J'ai essayé ton code
Si tu veux que les caractères des champs U:AE soient colorés en
fonction de la variable "e"
il faut que ta ligne :
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,>
30)).Font.ColorIndex = 2
suive la variable "e" et notamment ta cellule active
Ce qui n'est pas le cas
Je te propose ton code modifié ainsi :
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range("U" & e.Row, "AE" & e.Row).Font.ColorIndex = 2
End If
Next
Je souhaiterais lorsque une cellule en colonne T est vide que les caract ères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Salut JF
J'ai essayé ton code Si tu veux que les caractères des champs U:AE soient colorés en fonction de la variable "e" il faut que ta ligne : Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,> 30)).Font.ColorIndex = 2 suive la variable "e" et notamment ta cellule active Ce qui n'est pas le cas
Je te propose ton code modifié ainsi :
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range("U" & e.Row, "AE" & e.Row).Font.ColorIndex = 2 End If Next
Celà devrait mieux aller
Dis moi !!!!
Frédéric Sigonneau
Tu tiens vraiment à passer par du code ? Parce qu'une mise en forme conditionnelle le fait.. En supposant que la cellule test (vide ou non) soit T1, sélectionne les colonnes U:AE et mets comme condition
=$T$1=""
et police blanche comme format.
Si tu cherches seulement à rendre visible ou non les données d'une ligne Ux:AEx dont la cellule en colonne T est vide ou non, modifie la formule :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Tu tiens vraiment à passer par du code ?
Parce qu'une mise en forme conditionnelle le fait..
En supposant que la cellule test (vide ou non) soit T1, sélectionne les colonnes
U:AE et mets comme condition
=$T$1=""
et police blanche comme format.
Si tu cherches seulement à rendre visible ou non les données d'une ligne Ux:AEx
dont la cellule en colonne T est vide ou non, modifie la formule :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères
du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,
30)).Font.ColorIndex = 2
End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non
plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Tu tiens vraiment à passer par du code ? Parce qu'une mise en forme conditionnelle le fait.. En supposant que la cellule test (vide ou non) soit T1, sélectionne les colonnes U:AE et mets comme condition
=$T$1=""
et police blanche comme format.
Si tu cherches seulement à rendre visible ou non les données d'une ligne Ux:AEx dont la cellule en colonne T est vide ou non, modifie la formule :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
MichDenis
Dans le module de ta feuille, copie ceci :
Private Sub Worksheet_Change(ByVal Target As Range) Dim rg As Range If Not Intersect(Target, Columns(20)) Is Nothing Then ' On Error Resume Next Set rg = Columns(20).SpecialCells(xlCellTypeBlanks) If Err <> 0 Then Err = 0 Exit Sub Else Columns(20).Offset(, 1).Resize(, 11).Interior.ColorIndex = none For Each area In rg.Areas area.Offset(, 1).Resize(, 11).Interior.ColorIndex = 3 Next End If End If
End Sub
"Jean-François LEGRAS" a écrit dans le message de news:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Dans le module de ta feuille, copie ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rg As Range
If Not Intersect(Target, Columns(20)) Is Nothing Then
' On Error Resume Next
Set rg = Columns(20).SpecialCells(xlCellTypeBlanks)
If Err <> 0 Then
Err = 0
Exit Sub
Else
Columns(20).Offset(, 1).Resize(, 11).Interior.ColorIndex = none
For Each area In rg.Areas
area.Offset(, 1).Resize(, 11).Interior.ColorIndex = 3
Next
End If
End If
End Sub
"Jean-François LEGRAS" <jflegras@gmail.com> a écrit dans le message de news:
urNr9TLcIHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères
du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,
30)).Font.ColorIndex = 2
End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non
plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Private Sub Worksheet_Change(ByVal Target As Range) Dim rg As Range If Not Intersect(Target, Columns(20)) Is Nothing Then ' On Error Resume Next Set rg = Columns(20).SpecialCells(xlCellTypeBlanks) If Err <> 0 Then Err = 0 Exit Sub Else Columns(20).Offset(, 1).Resize(, 11).Interior.ColorIndex = none For Each area In rg.Areas area.Offset(, 1).Resize(, 11).Interior.ColorIndex = 3 Next End If End If
End Sub
"Jean-François LEGRAS" a écrit dans le message de news:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
MichDenis
comme il s'agit de modifier la couleur du texte, tu dois changer : ).Interior.ColorIndex par Font.ColorIndex dans la procédure soumise
"MichDenis" a écrit dans le message de news:
Dans le module de ta feuille, copie ceci :
Private Sub Worksheet_Change(ByVal Target As Range) Dim rg As Range If Not Intersect(Target, Columns(20)) Is Nothing Then ' On Error Resume Next Set rg = Columns(20).SpecialCells(xlCellTypeBlanks) If Err <> 0 Then Err = 0 Exit Sub Else Columns(20).Offset(, 1).Resize(, 11).Interior.ColorIndex = none For Each area In rg.Areas area.Offset(, 1).Resize(, 11).Interior.ColorIndex = 3 Next End If End If
End Sub
"Jean-François LEGRAS" a écrit dans le message de news:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
comme il s'agit de modifier la couleur du texte,
tu dois changer : ).Interior.ColorIndex par Font.ColorIndex
dans la procédure soumise
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
euljntLcIHA.5900@TK2MSFTNGP02.phx.gbl...
Dans le module de ta feuille, copie ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rg As Range
If Not Intersect(Target, Columns(20)) Is Nothing Then
' On Error Resume Next
Set rg = Columns(20).SpecialCells(xlCellTypeBlanks)
If Err <> 0 Then
Err = 0
Exit Sub
Else
Columns(20).Offset(, 1).Resize(, 11).Interior.ColorIndex = none
For Each area In rg.Areas
area.Offset(, 1).Resize(, 11).Interior.ColorIndex = 3
Next
End If
End If
End Sub
"Jean-François LEGRAS" <jflegras@gmail.com> a écrit dans le message de news:
urNr9TLcIHA.1184@TK2MSFTNGP04.phx.gbl...
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères
du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,
30)).Font.ColorIndex = 2
End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non
plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
comme il s'agit de modifier la couleur du texte, tu dois changer : ).Interior.ColorIndex par Font.ColorIndex dans la procédure soumise
"MichDenis" a écrit dans le message de news:
Dans le module de ta feuille, copie ceci :
Private Sub Worksheet_Change(ByVal Target As Range) Dim rg As Range If Not Intersect(Target, Columns(20)) Is Nothing Then ' On Error Resume Next Set rg = Columns(20).SpecialCells(xlCellTypeBlanks) If Err <> 0 Then Err = 0 Exit Sub Else Columns(20).Offset(, 1).Resize(, 11).Interior.ColorIndex = none For Each area In rg.Areas area.Offset(, 1).Resize(, 11).Interior.ColorIndex = 3 Next End If End If
End Sub
"Jean-François LEGRAS" a écrit dans le message de news:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Jean-François LEGRAS
GENIAL !!
Merci beaucoup à vous tous !
François, ca marche nickel. Je me penche sur la formule pour mieux comprendre, mais en tous cas parfait !
Bonne nuit !
JF
a écrit dans le message de news:
On 16 fév, 17:02, "Jean-François LEGRAS" wrote:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Salut JF
J'ai essayé ton code Si tu veux que les caractères des champs U:AE soient colorés en fonction de la variable "e" il faut que ta ligne : Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,> 30)).Font.ColorIndex = 2 suive la variable "e" et notamment ta cellule active Ce qui n'est pas le cas
Je te propose ton code modifié ainsi :
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range("U" & e.Row, "AE" & e.Row).Font.ColorIndex = 2 End If Next
Celà devrait mieux aller
Dis moi !!!!
GENIAL !!
Merci beaucoup à vous tous !
François, ca marche nickel. Je me penche sur la formule pour mieux
comprendre, mais en tous cas parfait !
Bonne nuit !
JF
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
080a7d88-8ba8-46e7-826e-3ab85b0ac3d2@p73g2000hsd.googlegroups.com...
On 16 fév, 17:02, "Jean-François LEGRAS" <jfleg...@gmail.com> wrote:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les
caractères
du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,
30)).Font.ColorIndex = 2
End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non
plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Salut JF
J'ai essayé ton code
Si tu veux que les caractères des champs U:AE soient colorés en
fonction de la variable "e"
il faut que ta ligne :
Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,>
30)).Font.ColorIndex = 2
suive la variable "e" et notamment ta cellule active
Ce qui n'est pas le cas
Je te propose ton code modifié ainsi :
For Each e In Range("T4", Range("T65536").End(xlUp))
If e = "" Then
Range("U" & e.Row, "AE" & e.Row).Font.ColorIndex = 2
End If
Next
François, ca marche nickel. Je me penche sur la formule pour mieux comprendre, mais en tous cas parfait !
Bonne nuit !
JF
a écrit dans le message de news:
On 16 fév, 17:02, "Jean-François LEGRAS" wrote:
Bonjour à vous,
J'ai un nouveau petit problème :
Je souhaiterais lorsque une cellule en colonne T est vide que les caractères du champ "U:AE" soit blancs.
J'ai essayé :
Dim e As Range
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0, 30)).Font.ColorIndex = 2 End If
Next e
Mais ca ne marche pas. J'ai également essayé d'autres choses mais rien non plus.
Si vous pouviez m'aider, je serais le plus heureux des hommes !
Merci d 'avance,
Slts
JF
Salut JF
J'ai essayé ton code Si tu veux que les caractères des champs U:AE soient colorés en fonction de la variable "e" il faut que ta ligne : Range(ActiveCell.Offset(0, 19), ActiveCell.Offset(0,> 30)).Font.ColorIndex = 2 suive la variable "e" et notamment ta cellule active Ce qui n'est pas le cas
Je te propose ton code modifié ainsi :
For Each e In Range("T4", Range("T65536").End(xlUp)) If e = "" Then Range("U" & e.Row, "AE" & e.Row).Font.ColorIndex = 2 End If Next