Selection d'une ligne entière

Bonjour a tous et a toutes,

J'ai cherché sans succès la manière de procéder pour afficher une ligne entière en cliquant sur une cellule.

EX: je clique sur "E13" et c'est toute la ligne "E" qui ce distingue des autres.

Avez-vous une solution à me donner.

Merci d'avance et bonne et heureuse année a vous tous.

bonjour,

cette solution peut convenir à condition que la feuille d'origine ne comporte pas de mise en forme en couleur.

Coller cette macro dans le module de la feuille concernée :

(Clic droit sur l'onglet + Visualiser le code)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
Rows(ActiveCell.Row).Interior.ColorIndex = 24
End Sub

Nota : pour changer de couleur YAKA changer le N°

A+

Merci pour ta réponse rapide Galopin01

Ta macro fonction bien merci mais lorsque je protège la feuille, la macro ce met a boger.

"Propriété ColorIndex de la classe interior"

As-tu une solution?

Merci d'avance

s'il y a un un mot de passe, rajouter cette macro dans le même module de feuille (après ou avant la macro précédente) :

Private Sub Worksheet_Activate()
ActiveSheet.Protect Password:="blabla", UserInterfaceOnly:=True
End Sub

... En remplaçant "blabla" par "TonMotDePasseEntreGuillements"

Sinon (si c'est une protection sans mot de passe), rajouter cette macro :

Private Sub Worksheet_Activate()
ActiveSheet.Protect UserInterfaceOnly:=True
End Sub

Nota : Attention, dans chaque feuille, il ne peut y avoir qu'une (et une seule) macro "Private Sub Worksheet_Activate()"

A+

Merci pour ton aide galopin01

mais voici l'erreur a l'execution

"Private Sub Worksheet_SelectionChange(ByVal Target As Range)

=>Cells.Interior.ColorIndex = xlNone

Rows(ActiveCell.Row).Interior.ColorIndex = 24

End Sub

Private Sub Worksheet_Activate()

ActiveSheet.Protect UserInterfaceOnly:=True

End Sub"

As-tu une solution

Merci pour tout

Oups ! fausse manip...

bonsoir,

La syntaxe ne comporte pas d'erreur.

Le problème c'est plutôt tes conditions d'utilisation de la feuille et du classeur.

La macro devrait fonctionner correctement dès lors que tu actives ta feuille en passant d'une feuille à l'autre.

Le problème c'est si ta feuille est l'unique feuille du classeur, je ne suis pas certain que l'évènement activate se déclanche. A plus forte raison si tu te précipites directement sur la feuille au sortir de VBA et que tu testes la macro. Aucun évènement Activate ne se déclanche pour la feuille et ...t'es chocolat !

Une macro est une véritable pièce d'horlogerie qui doit tenir compte d'un tas de petits trucs à coté...

Le remède le plus simple serait sans doute de suprimer macro

[b]Private Sub Worksheet_Activate()

ActiveSheet.Protect UserInterfaceOnly:=True

End Sub[/b]

et de coller une procédure équivalente dans ton Workbook_Open

Concrètement cette macro devrait faire l'affaire :

Private Sub Workbook_Open()
Sheets("TaBelleFeuille").Protect UserInterfaceOnly:=True 
End Sub

... en remplaçant "TaBelleFeuille" par le nom de la feuille en question.

Mais si tu veux appliquer ça à plusieurs feuilles voire à toutes les feuilles il faudra bien sur adapter en fonction de ton environnement...

Cela marchera alors correctement après la prochaine ouverture du classeur.

Conseil : En dépit de leur apparente simplicité ces macros évènementielles sont assez casse bonbon surtout pour quelqu'un d'inexpérimenté ès macro. C'est une fausse bonne idée qu'il vaut mieux s'empresser d'oublier...

Pour de petits tableaux, il est souvent préférable d'utiliser une MFC qui colore systématiquement les lignes paires par exemple. C'est la plupart du temps bien suffisant pour améliorer notablement la lisibilité d'un tableau.

Il reste que pour de très longs tableaux une telle MFC n'est guère recommandable.

A+

Rechercher des sujets similaires à "selection ligne entiere"