Couleur automatique d'une ligne dans Excel
itreal
Messages postés
30
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
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
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:
- Couleur automatique d'une ligne dans Excel
- Liste déroulante excel - Guide
- Réponse automatique thunderbird - Guide
- Aller à la ligne dans une cellule excel - Guide
- Partager photos en ligne - Guide
- Déplacer une colonne excel - Guide
2 réponses
Deuxième problème, quand je supprime le renseignement dans ma cellule "Dossier clos", la ligne ne redevient pas blanche.
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? --
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? --