Couleur ligne active

Résolu
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
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

7 réponses

  1. JCB40 Messages postés 3061 Date d'inscription   Statut Membre Dernière intervention   479
     
    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
    0
  2. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     
    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.
    0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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


    0
  4. gyrus
     
    Bonjour,

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

    Cordialement.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     
    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
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      et l'autre proposition ?
      0
      1. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44 > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        J'ai bien copier ta macro n°2 dans la feuille concerné, mais sans succès.
        0
  7. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Et donc tu ne fais aucun retour dans ce cas. Bizarre...
    Pourtant : https://www.cjoint.com/c/IHxs4ygpOi7
    eric
    0
    1. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
       
      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.
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
      0
    3. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
       
      Un très cordial merci eriic pour ton aide précieuse et je te souhaite un bon weekend et une bonne journée
      A+
      0
  8. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     
    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
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour quand même...

      "il bugue" ne veut rien dire.
      Fournir au moins le message d'erreur.
      Et avec le fichier je pourrais voir.

      Pourtant dans MFC j'ai bien rentré la condition VRAI.
      Pas nécessaire, c'est le programme qui gère ça.
      eric
      0
    2. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
       
      merci Eriic de répondre de nouveau à mon souci.
      Message erreur
      Erreur d'exécution "1004"
      Erreur définis par l'application ou par l'objet
      Fin Débogage

      Il m'est difficile de te faire parvenir le fichier qui comporte beaucoup de renseignement personnel des adhérent de mon association.

      Espérant que tu pourras néanmoins trouvé une solution sinon tant pis pour moi ce n'est pas vital non plus je m'en passe depuis des années.
      grand merci
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Je ne peux rien faire sans le fichier.
      0
    4. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
       
      Je comprends et je te remercie. Je faire faire sans cette macro ce n'est pas grave du tout. Bon WE
      0
    5. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
      0