[VB] modifier le format de cellules losqu'une condition est remplie

Le
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 !

Merci d 'avance,

Slts

JF
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-François Aubert
Le #5165161
Salut,

rajoute .Address


Range(ActiveCell.Offset(0, 19).Address, ActiveCell.Offset(0,
30).Address).Font.ColorIndex = 2


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"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 !

Merci d 'avance,

Slts

JF





francois.forcet
Le #5163931
On 16 fév, 17:02, "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 !

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
Le #5163901
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 :

=$T1=""

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

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
Le #5163881
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"
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
Le #5163781
comme il s'agit de modifier la couleur du texte,
tu dois changer : ).Interior.ColorIndex par Font.ColorIndex
dans la procédure soumise



"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"
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
Le #5163561
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



On 16 fév, 17:02, "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 !

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 !!!!

Publicité
Poster une réponse
Anonyme