XL 2019 Mise en surbrillance de cellules VBA.

  • Initiateur de la discussion Initiateur de la discussion Paulle
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Paulle

XLDnaute Occasionnel
Bonsoir,
J'ai récupéré le code dans une discussion du forum, mais je n'ai pas réussi à l'adapter.
Je souhaite que ce soit les cellules de la colonne "A" qui soient en surbrillance plutôt que celles de la colonne "B".

Si possible, que la plage s'ajuste en fonction des cellules ayant un contenu.
Const plage = "b3:u22"
 

Pièces jointes

Bonsoir Paulle,

Ceci me paraît suffire :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.FormatConditions.Delete 'RAZ
On Error Resume Next
   With Union(Intersect(UsedRange.Rows(1), ActiveCell.EntireColumn), Intersect(UsedRange.Columns(1), ActiveCell.EntireRow))
      .FormatConditions.Add Type:=xlExpression, Formula1:=1
      .FormatConditions(1).Interior.Color = RGB(255, 150, 255)
   End With
End Sub
A+
 

Pièces jointes

Bonjour Paulle, le forum,

Une autre solution :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.FormatConditions.Delete 'RAZ
If Intersect(ActiveCell, UsedRange, UsedRange.Offset(3)) Is Nothing Then Exit Sub '3 premières lignes du UsedRange exclues
    With Union(Intersect(UsedRange.Rows(1), ActiveCell.EntireColumn), Intersect(UsedRange.Columns(1), ActiveCell.EntireRow))
        .FormatConditions.Add Type:=xlExpression, Formula1:=1
        .FormatConditions(1).Interior.Color = RGB(255, 150, 255)
    End With
End Sub
La MFC n'est pas créée si la cellule active est dans les 3 premières lignes du UsedRange.

A+
 

Pièces jointes

Merci job75.
Je n'avais pas pensé à cette possibilité.
Mais du coup il m'est venu l'idée suivante :
La MFC n'est pas créée si la cellule active est dans les 3 premières lignes du UsedRange.
La MFC n'est pas créée si la cellule active est dans les 3 premières colonnes du UsedRange.
J'espère que je n'abuse pas.
 
Mais du coup il m'est venu l'idée suivante :
La MFC n'est pas créée si la cellule active est dans les 3 premières lignes du UsedRange.
La MFC n'est pas créée si la cellule active est dans les 3 premières colonnes du UsedRange.
Vous pouviez trouver ceci facilement :
VB:
If Intersect(ActiveCell, UsedRange, UsedRange.Offset(3, 3)) Is Nothing Then Exit Sub '3 premières lignes et colonnes du UsedRange exclues
A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
223
Retour