IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Ligne active en surbrillance


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Par défaut Ligne active en surbrillance
    Bonjour,
    Je cherche à faire fonctionner la macro ci dessous que j'ai récupérée sur le web :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      'Dans la plage de cellules utilisée ...
      With Me.UsedRange.Rows
        '... sauf la première ligne
        With .Offset(1).Resize(.Count - 1)
          ' - effacer la couleur
          .Interior.ColorIndex = xlNone
          ' - si la cellule active n'est pas dans cette plage : terminé
          If Intersect(Target, .Cells) Is Nothing Then Exit Sub
          ' - sinon : changer la couleur de la ligne
          Intersect(Target.EntireRow, .Cells).Interior.ColorIndex = 3
        End With
      End With
    End Sub
    J'ai comme message d'erreur :

    Erreur d'exécution'1004'
    Erreur définie par l'application ou par l'objet


    Pouvez vous m'aider à régler ce problème?
    Sachez que je suis plus que débutant sur le sujet...

    ou peut être avez vous une solution plus simple pour mettre en surbrillance une ligne complète lorsque qu'une cellule est sélectionnée?

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour philippejam,

    Voici quelque chose de très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    Cells.Interior.ColorIndex = xlNone
    Rows(Target.Row).Interior.ColorIndex = 3
     
    End Sub
    Fonctionne lorsqu'une cellule est sélectionnée.
    Peut être modifié pour colorier plusieurs sélections de cellules.
    EDIT :
    Code avec la modif' : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    Cells.Interior.ColorIndex = xlNone
     
    If Target.Count > 1 Then
        For Each oCells In Target
            Rows(oCells.Row).Interior.ColorIndex = 3
        Next oCells
    Else
        Rows(Target.Row).Interior.ColorIndex = 3
    End If
     
    End Sub

    N'hésite pas à revenir vers moi !

    Cordialement,
    Kimy

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Par défaut
    Bonjour Kimy,
    Merci pour cette réponse réponse rapide !
    Mes premiers tests avec ce code sont très concluants, je ferai un test réel demain.
    Merci beaucoup
    Philippe

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par philippejam Voir le message
    Pouvez vous m'aider à régler ce problème?
    Une fois que tu as téléchargé ta macro, où l'as-tu placée pour essayer de la faire fonctionner ?

    Si tu l'as placée dans un module standard, ça ne risque pas de marcher.

    Citation Envoyé par Kimy_Ire Voir le message
    Voici quelque chose de très simple :
    Effectivement, la macro présentée dans la question est bien compliquée pour ce qu'elle fait.

    Peut être modifié pour colorier plusieurs sélections de cellules.
    Ou bien ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
         Cells.Interior.ColorIndex = xlNone
         Target.EntireRow.Interior.ColorIndex = 3
     End Sub

Discussions similaires

  1. [XL-2003] Doubler la ligne active (mais insérer après la ligne active)
    Par P96O1004 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/04/2009, 11h30
  2. Récupérer une ligne active rich:dataTable
    Par kookee dans le forum JSF
    Réponses: 3
    Dernier message: 26/03/2009, 15h12
  3. datagridview, ligne active
    Par redwire dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/02/2009, 13h08
  4. Supprimer une ligne active
    Par JeanMikael dans le forum VBA Access
    Réponses: 6
    Dernier message: 25/09/2007, 14h31
  5. Réponses: 2
    Dernier message: 14/01/2007, 23h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo