Mettre en gras une cellule active Excel VBA

Résolu
johannes30 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
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

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
PS : Ce code fonctionne aussi lors de la sélection de plusieurs cellules et quelle que soit la taille du fichier
0
Patrice67
 
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
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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