Couleur de ligne active...

B

Bobby

Guest
Bonjour à tous,

J'aurais vouku savoir s'il y avait un moyen de mettre la ligne en selection en surimpression de couleur.

En effet, je dispose d'un tableau avec bcp de donnees et je ne repere pas facilement ou se trouve ma cellule en selection.

S'il est possible de mettre en couleur toute la ligne de selection je vous en remercie.
 
L

lionel

Guest
bonjour


la mise en forme est trés facil a utiliser

donc: 1)ce mettre dans le cellule qui doit changer de couleur
2) format -> mise en forme conditionnelle
3) choisir 'la valeur de la cellule est'
4) au choix superieur, égal inferieur,
comprise entre ...
5) puis choisir le format pour cette cellule couleur,
police , ...
6) on peut choisir plusieurs condition ( cliquer sur
ajouter)


excel semble permettre beaucoups de possibilité mais l'aide intergrée est completement indigeste
 

Moa

XLDnaute Occasionnel
Salut Bobby Lionel et les Autres !

Je travaille moi-même sur des grands tableaux et il y a déjà pas mal de temps que je me suis fait une petite macro afin de bien me reperer.

Aussi regarde le code ci-joint :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Test1, Test2
Test1 = ActiveCell.Column - 3
Test2 = ActiveCell.Row - 3
If Not Application.Intersect(Target, Range('C3:L12')) Is Nothing Then
Range('C3:L12').Interior.ColorIndex = xlNone
Range(ActiveCell.Address, ActiveCell.Offset(0, -Test1).Address).Interior.ColorIndex = 6
Range(ActiveCell.Address, ActiveCell.Offset(-Test2, 0).Address).Interior.ColorIndex = 6
ActiveCell.Offset(0, -Test1).Interior.ColorIndex = 7
ActiveCell.Offset(-Test2, 0).Interior.ColorIndex = 7
ActiveCell.Interior.ColorIndex = 7
End If
End Sub

Il a l'avantage de ne pas effacer les 'Formats Conditionnels'.

Donc si tu colories tes colonnes avec un format conditionnel au préalable, tu n'auras aucun problème.

Regardons ce code :

Test1 et Test2 : -3 ,car mon tableau commence à la 3è ligne et la 3è colonne, donc tu n'as plus qu'à changer ces valeurs pour ajuster à ton tableau.

If Not Application.Intersect(Target, Range('C3:L12')) :

Tu n'as qu'à changer le Range ('C3:L12') par la plage de ton tableau qur tu veux pour déclencher ta macro.

Je te joins le fichier afin que tu voies le résultat.

Tu verras qu'en I9, j'ai un format conditionnel et que la cellule ne change pas de couleur.


@ +++


Moa

[file name=RepereTableauBobby.zip size=10888]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RepereTableauBobby.zip[/file]

Message édité par: Moa, à: 06/05/2005 00:21
 

Pièces jointes

  • RepereTableauBobby.zip
    10.6 KB · Affichages: 73

Moa

XLDnaute Occasionnel
Re à tous !

Une nouvelle version avec deux options en plus.

En fait j'ai regroupé en une seule appli, trois macros que j'avais faites dans des tableaux différents.

La première, correspond à la précèdente avec l'affichage des couleurs dans le tableau.

La deuxième qui se contente d'afficher dans des cellules prédéfinies, toutes les données concernant la cellule active.

La troisième qui fait la même chose que la deuxième mais dans un Userform mobile.

De quoi satisfaire plusieurs personnes...Hihihi...!!!

Bonne fin de nuit à tous !


@ +++


Moa [file name=RepereTableauBobby1.zip size=17139]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RepereTableauBobby1.zip[/file]

Message édité par: Moa, à: 06/05/2005 00:00
 

Pièces jointes

  • RepereTableauBobby1.zip
    16.7 KB · Affichages: 88

sopall4424

XLDnaute Nouveau
Bonsoir Bobby, le forum,
Ces quelques lignes de code répondront à ta demande.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
With ActiveCell
.EntireRow.Interior.ColorIndex = 35 'Vert Clair
End With
End Sub

En vous souhaitant une bonne soirée
Jean
comment fait on si on en veut pas mettre toute la ligne en surbrillance mais seulement - par exemple la plage entre les colonnes C et AD ?
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, sopall4424

Comment on fait si on veut lire un petit bonjour ou bonsoir du demandeur mais seulement par exemple de sopall4424... :rolleyes: (cf la charte du forum)

Sinon pour ta question, essaies cette macro
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
If Target.Count > 1 Then Exit Sub
Cells(Target.Row, "C").Resize(, 28).Interior.Color = vbRed
End Sub
 

sopall4424

XLDnaute Nouveau
Bonjour a tous,
je m excuse si j ai manque a la charte du Forum, qui sont tres serviables et competents. J' etais un peu dans le speed, et j ai oublie la politesse...
Merci pour la reponse ... qui forcement entraine une autre question... Est il possble de rajouter une case a cocher sur la feuille excel qui pourrais fairella chose suivante :
- je coche la case : la macro tourne ?
- je decoche la case : la macro ne tourne pas ?

Merci !.
 

sopall4424

XLDnaute Nouveau
comment fait on si on en veut pas mettre toute la ligne en surbrillance mais seulement - par exemple la plage entre les colonnes C et AD ?
Bonjour a tous,
je m excuse si j ai manque a la charte du Forum, qui sont tres serviables et competents. J' etais un peu dans le speed, et j ai oublie la politesse...
Merci pour la reponse ... qui forcement entraine une autre question... Est il possble de rajouter une case a cocher sur la feuille excel qui pourrais fairella chose suivante :
- je coche la case : la macro tourne ?
- je decoche la case : la macro ne tourne pas ?

Merci !.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Bonjour a tous,
je m excuse si j ai manque a la charte du Forum, qui sont tres serviables et competents. J' etais un peu dans le speed, et j ai oublie la politesse...
Merci pour la reponse ... qui forcement entraine une autre question... Est il possble de rajouter une case a cocher sur la feuille excel qui pourrais fairella chose suivante :
- je coche la case : la macro tourne ?
- je decoche la case : la macro ne tourne pas ?

Merci !.
sopall4424
Avec un CheckBox (ActiveX) sur la feuille contenant le code VBA ci-dessous
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
If Target.Count > 1 Then Exit Sub
Cells(Target.Row, "C").Resize(, 28).Interior.Color = IIf(CheckBox1, vbRed, xlNone)
End Sub
Cela semble faire la chose suivante ;)

NB: J'ai repris le code de base que je te proposais dans le message#20 du fil
 
Dernière édition:

Discussions similaires