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 :

Change de couleur de la ligne apres modif d'une cellule et copie coller ou copier vers le bas


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Par défaut Change de couleur de la ligne apres modif d'une cellule et copie coller ou copier vers le bas
    Bonjour,
    J'ai une question avec la fonction Worksheet_Change.
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Worksheet_Change(ByVal Target As Range)
    ' Change de couleur de la ligne apres modif d'une cellule
      Application.EnableEvents = False
      ThisRow = Target.Row
      ThisRow = Target.Row
      ThisCol = Split(Cells(1, Target.Column).Address(), "$")(1)
      If ThisRow = 1 Then GoTo Fin
      'Rows(ThisRow).Interior.Color = RGB(255, 0, 0)
      'Rows(ThisRow).Interior.ColorIndex = 4
      Range("A" & ThisRow & ":" & ThisCol & ThisRow).Interior.ColorIndex = 4
      'Target.Font.ColorIndex = 5
     
    Fin:
    Application.EnableEvents = True
    End Sub
    - Quand je modifie une cellule ma ligne change bien de couleur.
    - Quand je fait un copié coller d'une ligne vers une autre ligne ça se passe correctement.
    - Quand je fait un copié collé d'une ligne vers un groupe de ligne, la première ligne de ce groupe est coloriée et pour les autres lignes du groupe il n'y a que la cellule qui est coloriée.
    - Quand je fait un copié collé vers le bas j'ai le même fonctionnement qu'au dessus.

    Comment remédier a ce dysfonctionnement.
    Merci.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bonsoir,


    et il doit faire quoi ton code ..?

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Avant de voir plus loin, revois ton code que j'aurai traduit comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim thiscol As Long, ThisRow As Long
    If Target.Row = 1 Then Exit Sub
    Application.EnableEvents = False
    ThisRow = Target.Row
    thiscol = Target.Column
    Range(Cells(ThisRow, 1), Cells(ThisRow, thiscol)).Interior.ColorIndex = 4
    Application.EnableEvents = True
    End Sub
    EDIT : bonjour Bbil, pas vu ta réponse
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Par défaut
    Bonjour,
    merci Beaucoup, le code est mieux comme ça.
    Le code sert a modifier une ligne quand une cellule de cette ligne est modifié.
    La couleur de fond change pour les cellules de A à la cellule que je viens de modifier.

    Quand je modifie ligne après ligne, la macro marche bien.
    Si je fait un copié/collé d'une zone vers un ensemble de zone ou un recopie vers le bas, toutes les lignes modifiés ne change pas de couleurs, il n'y a que le cellule de la ligne qui a changé de fond de couleurs.

    merci.

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    un code dans ce gout là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim x As Integer
    If Target.Row = 1 Then Exit Sub
    For x = Target.Row To Target.Row + Target.Count - 1
      Cells(x, Target.Column).Interior.ColorIndex = 4
    Next x
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,

    tiens sans boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
        Range(Target.EntireRow.Columns(1), Target).Interior.ColorIndex = 4
    End Sub

  7. #7
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Par défaut
    Bonjour,
    Super et Merci.
    Le code qui marche est celui ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
        Range(Target.EntireRow.Columns(1), Target).Interior.ColorIndex = 4
    End Sub
    Il est bien pratique car il permet de savoir si une ligne a été modifié et par quelle colonnes.

    A+.

Discussions similaires

  1. Comment effacer des cellule après modification d'une cellule
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/03/2009, 08h51
  2. Bug après modification d'une page asp
    Par breton dans le forum ASP
    Réponses: 7
    Dernier message: 28/02/2007, 13h24
  3. Vue non mise à jour après modification d'une table
    Par cybernet35 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2006, 13h54
  4. Rafraichir une iframe 1 après modification d'une iframe2
    Par MASSAKA dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/10/2005, 11h47
  5. [DOM] Problème de suppression sauts de lignes après modification XML
    Par chabada dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 15/06/2005, 13h46

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