Mettre en gras une cellule active Excel VBA

Résolu
Bonjour,

je vous sollicite pour une petite manipulation qui me rendrait un fière service, je m'explique:

j'ai un tableau excel avec beaucoup de données du style grosse base de données fournisseurs.
Je souhaiterais récupérer un peu de lisibilité lors de l'utilisation de ce tableau et je souhaiterais donc que chaque fois que je me déplace dans ce tableau la cellule sur laquelle je me trouve passe en gras pour qu'elle puisse se démarquer du reste du tableau.

J'ai excel 2007 et après quelques recherches sur le net je ne trouve rien qui corresponde a ma demande ...

Merci d'avance
Cordialement

3 réponses

  1. Bonjour,

    Essayer ce code :
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static Gras As String
      
      If Gras <> "" Then Range(Gras).Font.Bold = False
      Gras = Target.Address
      Range(Gras).Font.Bold = True
    
    End Sub

    Pour cela : copier le code ci-dessus, Faire un clic droit sur l'onglet de la feuille concernée, Visualiser le Code, et Copier le code.
    1
    1. PS : Ce code fonctionne aussi lors de la sélection de plusieurs cellules et quelle que soit la taille du fichier
      0
  2. Bonjour johannes30

    Tu peux utiliser cette macro:

    Public ADDcell1, ADDcell2 As String

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If ADDcell1 = "" Then ADDcell1 = ActiveCell.Address
    Range(ADDcell1).Font.ColorIndex = xlAutomatic
    Range(ADDcell1).Font.Bold = False
    ADDcell2 = ActiveCell.Address
    Selection.Font.Bold = True
    With Selection.Font
    .Color = -16776961
    End With
    ADDcell1 = ADDcell2
    End Sub

    Pour la mettre en place tu fais un clic droit sur l'onglet de la feuille où tu souhaites changer le format. Tu sélectionnes Visualiser le code et tu colles la macro.
    Quand on clique sur une cellule la valeur passe en gras rouge. Si le rouge ne convient pas enlever les lignes.
    With Selection.Font
    .Color = -16776961
    End With

    Cordialement
    Patrice67
    0
    1. Salut,

      Un autre code

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      [A1:E100].Font.Bold = False
      ActiveCell.Font.Bold = True
      End Sub

      On peut jouer avec les couleurs

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      [A1:E100].Font.Bold = False
      [A1:E100].Font.ColorIndex = xlAutomatic
      ActiveCell.Font.Bold = True
      ActiveCell.Font.ColorIndex = 3
      End Sub

      Ou encore jouer avec la couleur des cellules et limiter l'action du code
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect(Selection, [A1:E100]) Is Nothing Then
      [A1:E100].Interior.ColorIndex = xlNone
      ActiveCell.Interior.ColorIndex = 3
      End If
      End Sub
      0