Colorer ligne et colonne excel

nathan01983 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
nathan01983 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous

J'aimerai savoir s'il est possible de surligner les lignes et colonnes quand on sélectionne une case sur Excel

Exemple je sélectionne B10 toute la colonne B et la ligne 10 sont en couleur.

Merci à tous :)

2 réponses

  1. PapyLuc51 Messages postés 4570 Date d'inscription   Statut Membre Dernière intervention   1 513
     
    Bonjour

    Je pense que ça peut ce faire avec du VBA.

    Voir >>>ICI<<< les codes proposés.

    Cordialement
    0
  2. T3chN0g3n Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   1 217
     
    Bonjour,

    Pas possible sans passer par du VB à m'a connaissance.

    Par contre en VB voir l'article ici = https://docs.microsoft.com/fr-fr/office/vba/excel/concepts/cells-and-ranges/highlight-the-active-cell-row-or-column

    Code à mettre en worksheet et sur "selection change"
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    ' Reinitialise la couleur de toutes les cellules
    Cells.Interior.ColorIndex = 0
    With Target
    ' Met en surbrillance la colonne et la ligne de la cellule active (8 = code couleur à personnaliser)
    .EntireRow.Interior.ColorIndex = 8
    .EntireColumn.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
    End Sub


    Par contre si vous avez des couleurs de cellule sur la feuille concerné ça supprime tout

    Cdlt.
    0
    1. nathan01983 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   10
       
      Merci pour la proposition mais je ne veux pas que ca supprimes mes couleurs existantes.

      Dans un autre de mes fichiers j'utilise cette formule qui me sert à colorer une case sélectionnée

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Set champ = Range("B8:J1000")
      '---- restitution couleurs
      If Not Intersect(champ, Target) Is Nothing And Target.Count < 100 Then
      CoulCurseur = RGB(255, 255, 0)
      For Each n In ActiveWorkbook.Names
      If Left(n.Name, 11) = "MémoCouleur" Then
      Adr = Mid(n.Name, 12): coul = Val(Mid(n, 2)): If coul = 16777215 Then coul = xlNone
      If Range(Adr).Interior.Color = CoulCurseur Then Range(Adr).Interior.Color = coul
      End If
      Next n
      '------ sauvegarde couleurs
      For Each n In ActiveWorkbook.Names
      If Left(n.Name, 7) = "MémoAdr" Then n.Delete
      Next n
      For Each c In Target
      ActiveWorkbook.Names.Add Name:="MémoCouleur" & Replace(c.Address, "$", ""), RefersTo:=c.Interior.Color
      Next c
      Target.Interior.Color = CoulCurseur
      End If
      End Sub
      0