[Bug] Macro qui souligne ligne entiere

Bonjour,

J'utilise une macro qui souligne la ligne entière en bleue lors d'une recherche de donnée sur ma feuille. Jusqu’à là tout va bien !

MAIS j'ai un soucis parfois j'ai des lignes qui restent soulignés après les avoir sélectionnés... Donc je me demande s'il y aurait pas une erreur ou une rectification à apporter a ma macro ?!?!

Le code est le suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Static AncAdress As Long

'Si la fonction activer/Déactiver est implémentée ajouter la ligne ci-dessous

If ActivationLigne Then Exit Sub

If Target.Count > 1 Then Exit Sub

If AncAdress <> 0 Then 'remettre en normal

Rows(AncAdress).Interior.ColorIndex = xlNone

Rows(AncAdress).Font.ColorIndex = 0

End If

Target.EntireRow.Font.ColorIndex = 5

Target.EntireRow.Interior.ColorIndex = 28

Target.EntireRow.Interior.Pattern = xlSolid

AncAdress = Target.Row

End Sub

Merci d'avance pour votre aide

Bonsoir,

Je viens de copier coller le code sur une feuille, et malgré de nombreux clic, à chaque fois la ligne "passé" revient aux couleur "basic" alors que la nouvelle passe en bleue sur fond bleu.

D'ailleurs je trouve cette routine fort sympathique...

Désolé de ne pouvoir plus vous aider.

@ bientôt

Loureed

Bonjour,

Comment tu fais pour 'décolorer' la ligne lorsque tu mets ActivationLigne <>0 ?

AncAdress n'a pour portée que cette proc.

Déclare-la avant les procédure avec Dim (portée module) ou Public (portée projet).

Sinon tu peux le faire aussi par MFC :

=CELLULE("ligne")=LIGNE()

Ca présente en plus l'avantage de conserver tes couleurs.

eric

Bonsoir,

Merci de vos réponses.

Eric je suis novice en macro peux tu me detailler plus ton raisonement ? ou m'aider a modifier mon code ?

Je n'ai pas précisé mais j'utilise ce code sur une feuille qui utilise aussi la mise en forme conditionnelle.

En faite j'ai juste rajouté cette macro pour lorsque je recherche une ligne celle ci soit directement visible

Bonsoir,

Une solution parmi plusieurs ...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
    Cells.Interior.ColorIndex = xlNone
    Target.EntireRow.Interior.ColorIndex = 36
    Target.EntireColumn.Interior.ColorIndex = 36
Application.ScreenUpdating = True
End Sub

En début de proc tu as :

If ActivationLigne Then Exit Sub

Quel est le fonctionnement prévu ?

eric

Bonjour à tous,

A distance, sans voir le fichier, je dirais qu'il faut faire attention à la sur-abondance de MFC qui viendraient "clasher" avec diverses procédures évènementielles ...

Bonjour tout le monde !

Merci à tous pour vos réponses !!!

En effet je pense que le conflit vient de la mise en forme conditionnelle insérè sur ma feuille !

ci joint un extrait de la feuille en question si cela peut vous aidez

37v1.zip (169.50 Ko)

Re,

La solution la plus élégante, dans ton cas ... ( compte tenu du fait que tes différents codes ont été certainement faits les uns après les autres ...et ajoutés successivement ...)

serait de reprendre l'ensemble de tes besoins et de tes conditions pour toutes les intégrer dans une seule procédure évènementielle...

Bon Courage

Bonsoir,

ci-joint un fichier qui prend la chose "à l'envers" :

au vu des mises en formes conditionnelles, le surlignement est fait de la même manière.

la macro sert à changer une valeur dans la colonne J afin que la mise en forme de surlignement fonctionne...

L'avantage seul le tableau est surligné et non la ligne entière...

Si cela vous convient,

@ bientôt

Loureed

34v1ultime.zip (157.75 Ko)

Bonjour à tous,

@LouReed,

J'aime bien ton astuce ... de prendre le sujet "à l'envers" ...

Et, en même temps, je ne suis pas trop surpris ... "Take a walk on the wild side ..."

Merci

@ bientôt

LouReeD

Rechercher des sujets similaires à "bug macro qui souligne ligne entiere"