Mise en couleur de la ligne sélectionnée

vadelacaisse

XLDnaute Junior
Bonjour

J'ai trouvé sur le forum des bouts de code (Pierrejean qui m'a déjà sauvé la mise) et Hervé (2006)
Curieusement ces macros bloquent la fonction coller d'Excel ! Gènant pour moi
En outre j'ai des formats conditionnels que je ne veux pas perdre, donc la macro d'Hervé qui conserve les formats manuels (que j'ai aussi) ne fera pas l'affaire...

Il y a-t-il un code qui conserve les formats conditionnels ET les fonctions d'excel (coller...) ?

A défaut, autre solution, plus simple, il me semble : changer la couleur du n° de ligne
J'ai vu parfois des excel avec des N° de lignes et colonnes actives différents du mien, mais sans explication

En fait je souhaite un contraste qui ne chamboule pas la feuille et ne modifie pas les commandes normales

Merci de votre aide
 

Hervé

XLDnaute Barbatruc
Re : Mise en couleur de la ligne sélectionnée

salut :)

si ton fichier ne contient pas de shapes tu peux peut etre les utiliser, ci dessous, un essai.

dis nous si c'est ce que tu recherches, on affinera apres

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim n As Integer, i As Byte

ActiveSheet.DrawingObjects.Delete
For i = 1 To Target.Column
    n = n + Cells(i, 1).Width
Next i

ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, Target.Top, n, Target.Height).Select
Selection.ShapeRange.Fill.Visible = msoFalse
End Sub

a plus
 

vadelacaisse

XLDnaute Junior
Re : Mise en couleur de la ligne sélectionnée

Bonjour Hervé et merci de le contatc rapide

J'ai du mal utiliser le code : copié dans une feuille te non dans worksheet

De ce que j'ai compris, ce code encadre la ligne d'un trait après avoir détruit les traits existants

Mon fichier comporte 180 colonnes
Sur une même ligne j'ai :
  • des formats conditionnels
  • une saisie encadrée par "validation"
  • des formats classiques (gras, couleur...)
  • des traits
  • des formules
En gros j'utilise a peu près tout et je ne souhaite rien effacer par cette mise en évidence de la ligne active
Les fonctions usuelles doivent aussi rester actives (copie...)
Devant ces contraintes, j'ai pensé qu'une seule mis en couleur du n° de ligne pourrait suffire, à défaut
 

Hervé

XLDnaute Barbatruc
Re : Mise en couleur de la ligne sélectionnée

salut :)

en pièce jointe un essai.

normalement ce procédé autorise les copier-coller, les couleurs manuelles, les mefc, et les shapes

je te laisse tester.

merci de nous donner ta version EXCEL

a plus
 

Pièces jointes

  • encadrement de ligne.xls
    41 KB · Affichages: 52

vadelacaisse

XLDnaute Junior
Re : Mise en couleur de la ligne sélectionnée

Merci Hervé !
Tous les paramètres (ce qui doit correpondre à shape) sont conservés

Un pb tout de même : la macro bloque au delà de la colonne 56 (mon fichier en 200) mais fonctionne avec un grand nombre de lignes
Ce doit être une coincidence si Excel n'a que 56 couleurs...

Une question : quel est le rôle de "toto"
Pas détecté de tel nom de champ...
Je suis titubant en VBA

Merci
 

Hervé

XLDnaute Barbatruc
Re : Mise en couleur de la ligne sélectionnée

salut

le bug venait du fait que j'utilisais un offset (target.offset(0,200)) pour allez chercher la cellule la plus à droite de la ligne

quand tu depassais la colonne 56 le code buggait car il n'y a que 256 colonnes en excel

remplace la ligne de création du shapes par celle ci :

Code:
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, Target.Top, Cells(1, 256).Left, Target.Height).Name = "toto"

pourquoi "toto" ?

je donne un nom au shape (.name = "toto") d'encadrement de ligne afin de pouvoir y faire référence plus facilement dans le reste du code et surtout l'effacer et n'effacer que lui, et j'aime bien "toto" :D

salut
 

vadelacaisse

XLDnaute Junior
Re : Mise en couleur de la ligne sélectionnée

Re- merci Hervé

Cela fonctionne parfaitement
Merci de l'explication pour la référence à la cellule active - que tu as modifiée

Pour "toto", je me posais la question si ce n'était pas dans mon fichier envoyé : par coincidence, j'ai fait des test pour autre chose en utilisant "toto" !
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 229
Membres
103 497
dernier inscrit
JP9231