Couleur automatique d'une ligne dans Excel

Fermé
itreal Messages postés 30 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 16 novembre 2009 - 13 nov. 2009 à 09:55
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 nov. 2009 à 12:58
Bonjour,
Je souhaite que la ligne entière se colore lorsque je renseigne quelque chose dans ma colonne "Dossier clos".
Une personne qui m'a déjà beaucoup aidé m'a transmis un code à insérer dans ma macro, mais quelques trucs ne fonctionnent pas.
Mon plus gros problème c'est que toute la ligne ne se colore pas, les cellules qui sont renseignées par d'autres données dans la ligne restent blanche.

Dim i As Integer
derlig = Range("AE65536").End(xlUp).Row
For i = 2 To derlig
If Range("AE" & i) <> "" Then
With Range(Cells(i, 1), Cells(i, 38)).Interior
.ColorIndex = 3
End With
End If
Next i
A voir également:

2 réponses

itreal Messages postés 30 Date d'inscription vendredi 6 novembre 2009 Statut Membre Dernière intervention 16 novembre 2009
13 nov. 2009 à 10:49
Deuxième problème, quand je supprime le renseignement dans ma cellule "Dossier clos", la ligne ne redevient pas blanche.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
13 nov. 2009 à 12:58
1- les cellules qui sont renseignées par d'autres données dans la ligne restent blanche.
M'étonnerait bien ça!! C'est impossible. La macro dit :
If Range("AE" & i) <> "" Then '----> Si "AE2" est renseignée alors
With Range(Cells(i, 1), Cells(i, 38)).Interior '---> Je sélectionne mes cellules de A2 à AL2
.ColorIndex = 3 '-----> et je les peinds en rouge...
End With

2- Si tu veux qu'après suppression de la donnée en AE la ligne redevienne blanche, il faut insérer un code dans le "changement de sélection" de la feuille correspondante.
Pour cela : clic droit sur l'onglet de ta page/Visualiser le code.
Visual Basic s'ouvre avec 2 menus déroulants "général" et "Déclarations"
en général tu choisis : WorkSheet
par défaut le menu "Déclarations" se positionne sur Selection_Change (sinon choisis cela)
Entre les deux lignes qui apparaissent place ce code, comme ceci (en gras les 2 lignes déjà remplie, à ne pas recopier) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer, derlig As Integer
derlig = Range("AE65536").End(xlUp).Row
For i = 2 To derlig
If Range("AE" & i) <> "" Then
With Range(Cells(i, 1), Cells(i, 38)).Interior
.ColorIndex = 3
End With
Else
With Range(Cells(i, 1), Cells(i, 38)).Interior
.ColorIndex = xlNone
End With
End If
Next i
End Sub--
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
0