Dim maCellule As Range For Each maCellule In Region If maCellule.Column = 1 Then ' Traitement ici End If NextPour le traitement :
If maCellule.Value = "X" Then ' Grisage de la ligne Else ' pas de grisage End IfPour le grisage, tu veux griser la ligne de la colonne A à J : Alors fais-le :
With Range(maCellule, maCellule.Offset(0, 9)) .Interior.ColorIndex = 15 ' ou xlNone selon ce que tu veux faire End With
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question'Cree par Bigish (3ddI7IHd) 'Le 27/10/2010 'ce code est a mettre dans le code d'une feuille Option Explicit Const Marque As String = "\/" Public Maplage As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'exemple d'utilisation: les cellules de la colonne "A" se transforment en Checkbox ' pour permettre la coloration des lignes marquées, par simple clic(dans la colonne A) Call PseudoCheckBox(Target) End Sub Sub PseudoCheckBox(ByVal Target As Range, Optional ByVal Colonne As String "A", Optional NbCol As Long 10) 'Par defaut la colonne des marques est la colonne A et le nombre de colonne colorées est de 10 Dim MaCellule As Range, TempPlage As Range 'on verifi que la variable target pointe sur la colonne specifiée et sur une cellule unique On Local Error Resume Next If Target.Column Columns(Colonne).Column And Target.Cells.Count 1 Then If Not Err = 0 Then Exit Sub 'on desactive la mise a jour de l'affichage Application.ScreenUpdating = False Application.EnableEvents = False 'si la variable target pointe sur une cellule qui contient deja la marque If Target = Marque Then Target.ClearContents Set Maplage = Target.Resize(1, Target.Column + NbCol) Maplage.Interior.ColorIndex = xlNone 'si la variable target pointe sur une cellule vide ElseIf Target.Value = "" Then With Target .Value = Marque 'on lui ajoute une marque 'on met en forme la cellule .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With 'on met en forme la marque With Target.Characters(Start:=1, Length:=1).Font .Name = "Arial" .Size = 7 End With With Target.Characters(Start:=2, Length:=1).Font .Name = "Arial" .FontStyle = "Italic" .Size = 12 End With Set Maplage = Target.Resize(1, Target.Column + NbCol) Maplage.Interior.ColorIndex = 15 End If 'on reactive la mise a jour de l'affichage Application.ScreenUpdating = True Application.EnableEvents = True End If End Sub Sub SOSEvenement() Application.EnableEvents = True End Sub