× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Astuce pour surligner la ligne active dans ExcelSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
miminerennaise
  Posté le 20/03/2007 @ 16:03 
Aller en bas de la page 
Petite astucienne

Une astuce pratique : Pour surligné toute la ligne active dans Excel !

Insérer le code suivant dans votre page (clic droit sur la feuille / l'onglet en bas puis "Visualiser le code" et coller le code ci-dessous):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
With ActiveCell
.EntireRow.Interior.ColorIndex = 36
End With
End Sub

Cool hein ?!

----------------------------------------------------

ah ya quand meme un petit probleme c'est que ca enlève la couleur de fond des cellules... faut que je trouve comment les garder...



Modifié par miminerennaise le 20/03/2007 16:18
Publicité
Flomad
 Posté le 20/03/2007 à 16:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

C cool ça !!!!

merci !!!!

galopin01
 Posté le 20/03/2007 à 17:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonsoir,

Pour préserver les mises en forme à la sortie : (Dans le module de la feuille concernée)

Private Sub Worksheet_Deactivate()
ResetRow
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
iR = Target.Row
On Error Resume Next
If iLastR > 0 Then
For i = 1 To 256
Cells(iLastR, i).Interior.ColorIndex = Tablo(i)
Next
End If
For i = 1 To 256
Tablo(i) = Cells(Target.Row, i).Interior.ColorIndex
Next
Rows(iR).Interior.ColorIndex = 38
iLastR = iR
End Sub

Dans un module "Standart" (Module1)

Public Tablo(256)
Public iLastR%

Sub ResetRow()
On Error Resume Next
If iLastR > 0 Then
For i = 1 To 256
Cells(iLastR, i).Interior.ColorIndex = Tablo(i)
Next
End If
End Sub

Dans le module de ThisWorkbook...

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ResetRow
End Sub

A+

Modifié par galopin01 le 20/03/2007 17:52
jemiyo
 Posté le 23/03/2007 à 09:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Je n'ai qu'une chose à dire BRAVO.

Moi qui travaille beaucoup sur excel, ceci est un bien pour travailler avec cette colonne comme repère sur toute une ligne.

A +

miminerennaise
 Posté le 23/03/2007 à 10:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

bonjour,

ca me fait bien plaisir de vous faire plaisir !

Bonne journée, et surtout Bon Weekend !!

davidjb8
 Posté le 17/08/2017 à 17:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bonjour à tous,

Désolé de ressortir ce sujet ancien... mais l'information m'est fortement utile!

Ma situation est la suivante :

J'arrive à faire fonctionner le code de miminerennaise c'est impeccable, en revanche je veux conserver les mises en forme mais je ne parviens pas à faire fonctionner le code de galopin01...

Pourriez-vous m'éclairer svp ?

Merci par avance,

David

ferrand
 Posté le 17/08/2017 à 21:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Autre méthode qui t'évitera le besoin de conserver les mises en forme...

1) Tu crées un nom dans le Gestionnaire de noms, par exemple Lgn et tu le fais référer à une valeur numérique : =8 par exemple (c'est juste pour initialiser).

2) Tu crées une MFC sur l'étendue de la feuille que tu juges utile, tu choisis la couleur que tu souhaites pour colorer la ligne, et tu mets la formule conditionnelle suivante :

=LIGNE(A1)=Lgn

A ce stade, la ligne 8 (si tu as mis =8 au 1) sera colorée par MFC...

3) Dans le module de la feuille tu places la procédure suivante :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("Lgn").RefersTo = "=" & Target.Row
End Sub

Ainsi, la valeur de Lgn sera modifiée à chaque mouvement que tu fais sur la ligne et indiquera la ligne active. La MFC mise en place s'appliquera à cette ligne active, ce qui n'affectera pas ta mise en forme que tu n'auras donc plus besoin de préserver...

Cordialement.

hben
 Posté le 19/08/2017 à 18:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Mes yeux te disent un grand Merci MIMI!!!

hben
 Posté le 19/08/2017 à 18:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Merci Galopin pour les précisions. Comment faire si on veut que ce code s'intègre dans le classeur par défaut (Celui qu'on ouvre avec la fonction "Nouveau")

Publicité
UNA85
 Posté le 29/04/2020 à 11:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien
ferrand a écrit :

Bonsoir,

Autre méthode qui t'évitera le besoin de conserver les mises en forme...

1) Tu crées un nom dans le Gestionnaire de noms, par exemple Lgn et tu le fais référer à une valeur numérique : =8 par exemple (c'est juste pour initialiser).

2) Tu crées une MFC sur l'étendue de la feuille que tu juges utile, tu choisis la couleur que tu souhaites pour colorer la ligne, et tu mets la formule conditionnelle suivante :

=LIGNE(A1)=Lgn

A ce stade, la ligne 8 (si tu as mis =8 au 1) sera colorée par MFC...

3) Dans le module de la feuille tu places la procédure suivante :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names("Lgn").RefersTo = "=" & Target.Row
End Sub

Ainsi, la valeur de Lgn sera modifiée à chaque mouvement que tu fais sur la ligne et indiquera la ligne active. La MFC mise en place s'appliquera à cette ligne active, ce qui n'affectera pas ta mise en forme que tu n'auras donc plus besoin de préserver...

Cordialement.

Bonjour,

cette astuces fonctionnes parfaitement. Par contre, j'aurais voulu la mettre sur tout les nouveaux classeurs. Est-il possible de le faire ?

Merci

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
279,99 €Ecran ultra large LG 34 pouces 34WL50S-B à 279,99 €
Valable jusqu'au 31 Octobre

Amazon propose actuellement l'écran 34 pouces LG 34WL50S-B à 279,99 € livré gratuitement alors qu'on le trouve à partir de 400 € ailleurs. Cet écran ultra large est au format 21/9, possède une dalle IPS et offre une résolution de 2560 x 1080 pixels. Avec lui, vous pourrez bénéficier d'une plus grande immersion dans les jeux et les films. Cet écran est compatible FreeSync.


> Voir l'offre
9,99 €Adaptateur Bluetooth USB TP-Link UB400 à 9,99 €
Valable jusqu'au 30 Octobre

Amazon fait une promotion sur l'adaptateur Bluetooth USB TP-Link UB400 qui passe à 9,99 €. Cet adaptateur à brancher sur un port USB va vous permettre d'ajouter le bluetooth à votre ordinateur et d'utiliser ensuite sans fil vos périphériques bluetooth : souris, clavier, casque, manette, téléphone, ...


> Voir l'offre
103,99 €Onduleur Eaton 3S 850 FR à 103,99 €
Valable jusqu'au 30 Octobre

Amazon fait une promotion sur l'onduleur Eaton 3S 850 FR qui passe à 103,99 € livré gratuitement alors qu'on le trouve ailleurs autour de 120 €. Cet onduleur de 850VA / 510 Watts offre 4 prises protégées et ondulées et 4 prises protégées. La batterie est remplaçable et offre une autonomie de 20 minutes. Son port USB et le logiciel d'arrêt fourni permet d'enregistrer automatiquement vos données et fermer vos applications avant que vos batteries ne soient épuisées.


> Voir l'offre

Sujets relatifs
pb pour insérer une ligne dans Excel
Creation d' une boucle macro dans fichier EXCEL pour impression
demande astuce pour tableau excel
Problème pour insérer colonne dans Excel
FORMULE EXCEL POUR RECHERCHE DANS UNE TABLE
insérer un retour ligne dans une formule excel
Macro Excel : Sommes dans première ligne libre
Trier une ligne sur deux dans Excel 2003
insertion ligne dans "excel 2007"
Numérotation ligne dans excel 2003
Plus de sujets relatifs à Astuce pour surligner la ligne active dans Excel
 > Tous les forums > Forum Bureautique