Mise en forme de la ligne en selectionnant une celulle

  • Initiateur de la discussion Initiateur de la discussion gourdin
  • 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 !

gourdin

XLDnaute Impliqué
Je souhaite en cliquant sur une cellule que l’ensemble de la Ligne concernée d’un tableau se mette en forme d’une façon particulière.

Exemple :
En cliquant sur une cellule de la première colonne d’un tableau l’ensemble de la ligne du tableau se met en gras, en fond rouge avec police blanche.

Merci
 
Re : Mise en forme de la ligne en selectionnant une celulle

Bonjour gourdin,

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Intersect(Target, Range("A1:A26")) Is Nothing Then
With Range(ActiveCell, ActiveCell.Offset(0, 6))
.Interior.ColorIndex = 3
.Font.ColorIndex = 2
.Font.Bold = True
End With
End If
End Sub
Il faut adapter la plage A1:A26 à ton cas, puis ActiveCell.Offset également.
Ecrit tel quel la macro s'applique de A à G


Edit: Au fait la macro fonctionne avec double click.
 
Dernière édition:
Re : Mise en forme de la ligne en selectionnant une celulle

Bonjour gourdin,

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Intersect(Target, Range("A1:A26")) Is Nothing Then
With Range(ActiveCell, ActiveCell.Offset(0, 6))
.Interior.ColorIndex = 3
.Font.ColorIndex = 2
.Font.Bold = True
End With
End If
End Sub
Il faut adapter la plage A1:A26 à ton cas, puis ActiveCell.Offset également.
Ecrit tel quel la macro s'applique de A à G


Edit: Au fait la macro fonctionne avec double click.

Merci beaucoup,

Mais je n'ai pas été assez précis dans ma demande.

En fait il s'agit de modifier la mise en forme de la ligne du tableau mais celle ci redevient comme précédemment quand on change de cellule dans une autre ligne.

Bref la ligne change uniquement quand une cellule de cette ligne est sélectionnée.
 
Re : Mise en forme de la ligne en selectionnant une celulle

Bonsoir gourdin,

En cliquant sur une cellule de la première colonne d’un tableau l’ensemble de la ligne du tableau se met en gras, en fond rouge avec police blanche.
Le code répond bien à ce que tu demandais!
En fait il s'agit de modifier la mise en forme de la ligne du tableau mais celle ci redevient comme précédemment quand on change de cellule dans une autre ligne.

Bref la ligne change uniquement quand une cellule de cette ligne est sélectionnée.
😕😕😕😕

Sinon à rajouter après le code que je t'ai proposé:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plage As Range
Set plage = Range("A1:G26")

With plage
.Interior.ColorIndex = 0
.Font.ColorIndex = 2
.Font.Bold = False
End With

End Sub
Dès que tu change de cellule la ligne reprend sa forme initiale.
En fait j'inverse la mise en forme précédente.

Un fichier avec ce que tu voudrais serait bien.

A te lire!😉
 
Re : Mise en forme de la ligne en selectionnant une celulle

Re,
Sinon il existe ceci, mais qui fonctionne que pour la cellule active:

Code:
Public old_color, old_sel
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If Not old_sel = "" Then Range(old_sel).Interior.ColorIndex = old_color
old_sel = sel.Address
old_color = sel.Interior.ColorIndex
sel.Interior.ColorIndex = 41

End Sub

La source vient d'ici:
Couleur d'une cellule active Excel?

Quelqu'un saura peut-être l'adapter!
 
Re : Mise en forme de la ligne en selectionnant une celulle


Merci à tous,
La macro fournie (cf ci-après) par BOISGONTIER est parfaite car elle modifie bien, quand on selectionne une seule cellule, la ligne en rouge mais je souhaite également que la police devienne blanche et en gras.
J'ai bien essayé de "bricoler" la macro mais elle est trop compliquée pour mon niveau
Je n'y suis pas arrivé
Merci encore de votre aide

Macro de BOISGONTIER :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set champ = [A1😀20]
col1 = champ.Column
col2 = champ.Column + champ.Columns.Count - 1
On Error Resume Next
If [mémoAdresse1] <> "" Then
For i = col1 To col2
x = "mémoAdresse" & i
a = Evaluate([x])
x = "mémoCouleur" & i
b = Evaluate([x])
Range(a).Interior.ColorIndex = b
Next i
End If
ActiveWorkbook.Names.Add Name:="mémoAdresse1", RefersToR1C1:=""
If Not Intersect(champ, Target) Is Nothing And Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="mémoLigne", RefersToR1C1:="=" & Chr(34) & Target.Row & Chr(34)
For i = col1 To col2
ActiveWorkbook.Names.Add Name:="mémoAdresse" & i, RefersToR1C1:= _
"=" & Chr(34) & Cells(Target.Row, i).Address & Chr(34)
ActiveWorkbook.Names.Add Name:="mémoCouleur" & i, RefersToR1C1:= _
"=" & Cells(Target.Row, i).Interior.ColorIndex
Cells(Target.Row, i).Interior.ColorIndex = 3
Next i
End If
End Sub
 
- 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
5
Affichages
198
Réponses
4
Affichages
316
Retour