Couleur ligne active [Résolu]

Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
- - Dernière réponse : eriiic
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
- 31 août 2019 à 15:32
Bonjour à tous ceux qui me liront.
Voilà mon problème, j’essaie d’utiliser un tuto pour mettre la ligne active en surbrillance dans mon fichier excel. Malheureusement celui-ci est en anglais donc incompréhensif pour moi. Cependant en suivant bien la démo, voici mon résultat qui ne fonctionne pas. Pourquoi, pouvez vous m’aider.
Nom de mon fichier = Liste centre
Nom de la feuille = Fichier_principal
1ère etape : J’ai d’abord nommer mon tableau = ActiveRow avec la référence =1
2ème étape : Dans MFC : sélection de ma feuille Fichier_principal et Formule = LIGNE(A)=ActivreRow puis mon format souhaité
3ème étape en VBA
Module
Option Explicite
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ThisWorkbook.Names("Liste Centre")
.Name = "ActiveRow"
.RefersToR1C1 = "=" & ActiveCell.Row
End With
End Sub

Mais cela coince quelque part, OU ??
Merci à tous et vive CCM
Cdlt
Afficher la suite 

7 réponses

Messages postés
1014
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
18 septembre 2019
117
0
Merci
Bonjour
Dans cette phrase faute de frappe ActivreRow au lieu de ActiveRow

2ème étape : Dans MFC : sélection de ma feuille Fichier_principal et Formule = LIGNE(A)=ActivreRow puis mon
Crdlt
Commenter la réponse de JCB40
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18
0
Merci
Effectivement deux fautes, mais ce sont des fautes de frappe dans mon message CCM car en réalité dans mon fichier les mots sont bien écrit dans chacune des étapes. Merci pour ta remarque.
Commenter la réponse de mchotard
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
5637
0
Merci
Bonjour,

tant qu'à faire autant tout faire en vba et laisser tomber le nom :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim fc As FormatCondition
    For Each fc In Cells.FormatConditions
        If fc.Formula1 = "=VRAI" Then fc.Delete: Exit For
    Next fc
    With ActiveCell.EntireRow
        .FormatConditions.Add Type:=xlExpression, Formula1:="=VRAI"
        .FormatConditions(.FormatConditions.Count).SetFirstPriority
        .FormatConditions(1).Interior.Color = 13434879
        .FormatConditions(1).StopIfTrue = False
    End With
End Sub

eric

Edit : pour laisser visibles d'autres MFC présentes :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim fc As FormatCondition
    For Each fc In Cells.FormatConditions
        If fc.Formula1 = "=VRAI" Then fc.Delete: Exit For
    Next fc
    With ActiveCell.EntireRow
        .FormatConditions.Add Type:=xlExpression, Formula1:="=VRAI"
        With .FormatConditions(.FormatConditions.Count)
            .Interior.Color = 13434879
            .StopIfTrue = False
        End With
    End With
End Sub



En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Commenter la réponse de eriiic
0
Merci
Bonjour,

Voici un exemple ...
https://www.cjoint.com/c/IHxkZbQcaRj

Cordialement.
Commenter la réponse de gyrus
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18
0
Merci
merci gyrus pour ta réponse rapide et surtout pour ton exemple qui répond tout à fait à ce que je souhaite. Malheureusement quand je l'adapte à mon fichier, cela ne fonctionne pas.
Ce que j'ai fait
dans MFC : formule == LIGNE(A1)=ListeCentre (est-ce bien le nom du classeur que je dois indiqué ici) et s’applique à A1: BS245
En effet mon tableau comporte de nombreuses colonnes. J'ai donné le nom de "Principal" à ma base.
Ensuite j'ai copié ta formule VBA dans la feuille dénommée "Fichier_Principal" du classeur "ListeCentre"
Où ai-je commis une erreur. Il faut que je t'indique que mon tableau dénommé "Principal" possède déjà des MFC pour distinguer les hommes et les femmes. Est-ce gênant.
Merci pour ton retour
eriiic
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
5637 -
et l'autre proposition ?
mchotard
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18 > eriiic
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
-
J'ai bien copier ta macro n°2 dans la feuille concerné, mais sans succès.
Commenter la réponse de mchotard
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
5637
0
Merci
Et donc tu ne fais aucun retour dans ce cas. Bizarre...
Pourtant : https://www.cjoint.com/c/IHxs4ygpOi7
eric
mchotard
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18 -
Merci eric cela marche bien. Une dernière question, comment faire si je veux changer la couleur de la ligne active. J'ai vu qu tu avais mis un n°, à quoi correspond-t-il?
Merci et désolé de t'importuner de nouveau.
eriiic
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
5637 -
Dans un module Standard :
Function numCouleur(c As Range)
    numCouleur = c.Interior.Color
End Function

met la couleur voulue dans une cellule et à coté :
=numCouleur(ta_cellule)

récupèrer le n° de couleur
eric
mchotard
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18 -
Un très cordial merci eriic pour ton aide précieuse et je te souhaite un bon weekend et une bonne journée
A+
Commenter la réponse de eriiic
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18
0
Merci
Eriic si tu es toujours présent, j'ai un problème copier mon fichier qui était sur mon portable, sur mon PC de bureau. Pourquoi, il bug sur : If Fc.Formula1= "VRAI" Then.
J'ai du loupé quelques choses en copiant mon fichier. Pourtant dans MFC j'ai bien rentré la condition VRAI.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim fc As FormatCondition
For Each fc In Cells.FormatConditions
If fc.Formula1 = "=VRAI" Then fc.Delete: Exit For
Next fc
With ActiveCell.EntireRow
.FormatConditions.Add Type:=xlExpression, Formula1:="=VRAI"
With .FormatConditions(.FormatConditions.Count)
.Interior.Color = 13434879
.StopIfTrue = False
End With
End With
End Sub

Merci et cordialement
eriiic
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
5637 -
Je ne peux rien faire sans le fichier.
mchotard
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18 -
Je comprends et je te remercie. Je faire faire sans cette macro ce n'est pas grave du tout. Bon WE
eriiic
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
5637 -
Ca fonctionne très bien chez moi.
Par contre supprime tout de suite ton lien.
Un fichier ne doit contenir aucune données personnelles et la loi est maintenant sévère là-dessus. Sans parler du patron qui peut te virer pour ça car il est aussi garant de ces données.
C'est quand même pas dur de mettre des données bidons sur quelques lignes.
eric
mchotard
Messages postés
170
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
4 septembre 2019
18 -
Après vérification de mes paramètres excel, ça ne marche toujours pas mais il faut bien arrêter notre discussion. merci pour le temps passé à chercher une solution à mon problème.
pour ce qui est du fichier je te remercie de tes remarques très pertinentes. Je n'arrive pas à supprimer le liens dans notre discussion, si tu peux le faire n'hésite pas cela me rendrait service.
A+ et cdlt
eriiic
Messages postés
22889
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 septembre 2019
5637 -
Je ne peux pas éditer le post, seulement le supprimer.
C'est fait
Commenter la réponse de mchotard