Colorer une cellule de la ligne active

Résolu
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -  
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai un tableau  colonne A;AN ligne 1 à 200.

En recherchant sur les tutos, j'ai bien trouvé la solution  pour mettre la ligne entière en couleur. Mais cette solution supprime toutes les MFC de mon tableau et c'est pas possible pour moi.

Existerait il une solution pour que si je suis sur la cellule Y12, la cellule E12 puisse se mettre en surbrillance, en couleur.

Merci pour vote aide


Windows / Chrome 132.0.0.0

11 réponses

Résumé de la discussion

Le problème consiste à mettre en surbrillance la ligne et/ou une colonne en fonction de la cellule active sans perturber les règles de mise en forme conditionnelle existantes.
Une macro Worksheet_SelectionChange utilise Union(Rows(ActiveCell.Row), Columns(ActiveCell.Column)).Select pour mettre en évidence la ligne et la colonne associées, en gérant les événements pour éviter les boucles.
La première version déplace la cellule active, alors qu’une seconde évite ce déplacement en réactivant la cellule après la sélection.
Le fonctionnement correct nécessite de placer ce code dans le module de la feuille concernée plutôt que dans un module standard.
Pour ne surligner que la ligne, on peut utiliser une variante axée sur Rows(ActiveCell.Row).Select.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     

    Je pense en retard que j'aurais peut-être du vous donner ma macro pour mettre la ligne en surbrillance

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Rows.Interior.ColorIndex = xlNone
      Target.EntireRow.Interior.ColorIndex = 8
      
      End Sub 
      

    peut-être que vous avez une solution pour l'adapter à ma demande

    Merci

    0
  2. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     

    Bonjour,

    A vérifier si la fonctionnalité est en standard, mais avec Excel 365, tu disposes de la fonctionnalité "focus sur la cellule" qui permet de colorier la cellule active ou de mettre en surbrillance la ligne et la colonne de la cellule active. A défaut de cette version, tu peux utiliser la macro :

    Sub Worksheet_SelectionChange(ByVal Target As Range)
      Application.EnableEvents = False
      Union(Rows(ActiveCell.Row), Columns(ActiveCell.Column)).Select
      Application.EnableEvents = True
    End Sub
    

    Daniel


    0
  3. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     

    ... ou mieux :

    Sub Worksheet_SelectionChange(ByVal Target As Range)
      Set Adr = ActiveCell
      Application.EnableEvents = False
      Union(Rows(ActiveCell.Row), Columns(ActiveCell.Column)).Select
      Adr.Activate
      Application.EnableEvents = True
    End Sub
    

    Daniel


    0
  4. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     

    Bonsoir

    C'est ce que je souhaitais. Mais en quoi la deuxième solution est mieux .

    Est-il possible de changer la couleur de la surbrillance, ligne et colonne STP

    Mais c'est une simple demande et je suis très satisfait de ta réponse 

    Merci

    mchotard

    0
    1. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
       

      "Mais en quoi la deuxième solution est mieux". 

      La première version déplace la cellule active en colonne A. La seconde ne la déplace pas.

      Daniel

      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
     

    Suite

    j'ai une demande supplémentaire comment ne mettre en surbrillance que la ligne et non la colonne.

    Désolé et merci

    0
  7. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     

    Pour la ligne seule :

    Sub Worksheet_SelectionChange(ByVal Target As Range)
      Set Adr = ActiveCell
      Application.EnableEvents = False
      Rows(ActiveCell.Row).Select
      Adr.Activate
      Application.EnableEvents = True
    End Sub
    

    Daniel


    0
  8. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     

    J'ai une erreur de compilation "Adr ="

    0
  9. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     
    Avec cette formule cela fonctionne
    Sub Worksheet_SelectionChange(ByVal Target As Range)
        Application.EnableEvents = False
      Rows(ActiveCell.Row).Select
        Application.EnableEvents = True
    End Sub

    Quid de la couleur, si ce n'est pas possible c'est pas grave, cela me satisfait énormément.

    Bonne soirée

    0
  10. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     

    Est-ce normal que je ne peux plus  me déplacer sur la ligne avec la flèche droite ou gauche

    0
  11. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     

    Je n'ai pas ce problème. Peux-tu dire exactement ce que tu fais.

    Daniel


    0
    1. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
       

      Ce que je vois, en appuyant sur la flèche droite, en arrivant a la colonne X, la cellule active se déplace toujours vers la droite, mais la cellule reste au centre de l'écran.

      Daniel

      0
  12. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   44
     

    Bonjour Daniel

    C'est bon pour moi, cela fonctionne comme je le souhaite. Le problème venait d'une macro que j'ai déplacé  dans une module plutôt que dans ma feuille "Fichier". Et ça marche.

    Merci pour le temps que tu as passé pour moi.

    Au plaisir

    mchotard

    0