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 :

Remplissage cellule suivant couleur d'origine


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    technicien BE
    Inscrit en
    Juin 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien BE

    Informations forums :
    Inscription : Juin 2016
    Messages : 50
    Par défaut Remplissage cellule suivant couleur d'origine
    Bonjour,

    J'ai un fichier me servant à gérer mes projets. Pour éviter d'avoir les yeux qui se croisent, j'ai créé une macro pour colorer la ligne utilisé.
    Après quelques évolutions du tableau j'ai atteints les limites de mes connaissances.

    Voici les deux principes du tableau: lorsque qu'un devis n'est pas accepté, une règle rempli la colonne M d'une couleur de façon automatique si D= attente accord client.
    Si une colonne n'est pas utile pour l'affaire, je la colore en gris pour indiquer que rien ne sera a remplir.

    Mon problème est le suivant: lorsque je sélectionne une ligne les cellules orange ressortent bien de la ligne bleu... mais pas les cellules grises.

    Existe t'il une ligne de code a ajouter a la macro ou une manip a faire pour que lorsque je sélectionne une ligne seul les cellules non rempli passe en bleu.

    Je mets en PJ le fichier simplifier contenant les macros (il y en a une pour enregistrement auto mais ça n'a rien a voir avec ma problématique)

    Merci d'avance pour votre aide et si l'un de vous trouve la réponse c'est tournée générale.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour,

    si je comprends bien le gris est posé "à la main" dans les cellules inutiles.
    Comme c'est l'attribut couleur de fond qui est utilisé, il est remis en cause de façon prioritaire par la MFC.

    Je vois deux solutions, qui reviennent dans tous les cas à utiliser une autres méthode pour marquer les cellules :
    • soit utiliser une MFC qui sera prioritaire, comme tu l'as fait sur les devis refusés. Pour cela il faut qqchose à tester donc mettre un X dans les cellules inutiles, et dans la MFC va tester la valeur "X" et mettre la couleur grise en couleur de fond ET le format numérique ";;;" pour masquer le X
    • soit utiliser un autre attribut pour ne pas se faire écraser par la MFC bleue : un motif hachuré avec une couleur de motif gris et la couleur de fond qui reste à sans. Quand la MFC colorera la cellule en bleu, les hachures resteront, certes sur fond bleu mais c'est AMHA acceptable, voire plus joli .

  3. #3
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Citation Envoyé par Florent6744 Voir le message
    Bonjour,

    J'ai un fichier me servant à gérer mes projets. Pour éviter d'avoir les yeux qui se croisent, j'ai créé une macro pour colorer la ligne utilisé.
    Bonjour, pour les mêmes raisons que toi, je me suis créé une macro qui met en surbrillance la ligne et colonne de la cellule active.
    Elle ne fonctionne pas sur les feuilles protégées.
    Si ça peut t'aider, la voici:

    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
    16
    17
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
        ' Vérifier si la feuille est protégée
        If Sh.ProtectContents Then
            ' Si la feuille est protégée, sortir de la macro
            Exit Sub
        End If
     
        ' Effacer les mises en surbrillance précédentes
        Cells.Interior.ColorIndex = xlNone
     
        ' Vérifier si une seule cellule est sélectionnée
        If Target.Cells.Count = 1 Then
            ' Surbriller la ligne et la colonne de la cellule active
            Rows(Target.Row).Interior.Color = RGB(255, 255, 235) ' Jaune pâle
            Columns(Target.Column).Interior.Color = RGB(255, 255, 235)
        End If
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    technicien BE
    Inscrit en
    Juin 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien BE

    Informations forums :
    Inscription : Juin 2016
    Messages : 50
    Par défaut
    MErci pour vos réponses.

    Je vais tester les deux méthodes (hachure et macro) pour voir laquelle me convient le mieux.

Discussions similaires

  1. Remplissage cellule suivant liste
    Par Florent6744 dans le forum Excel
    Réponses: 2
    Dernier message: 30/10/2023, 18h34
  2. [XL-2007] Progamme VBA pour remplissage de cellule en couleur pour valeur famille de 1000 a 9000
    Par gabigabou dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/05/2014, 15h26
  3. [XL-2003] Recherche cellule avec couleur de remplissage.
    Par Baluteaud dans le forum Excel
    Réponses: 4
    Dernier message: 04/04/2014, 13h58
  4. [XL-2010] Se positionner sur cellule avec couleur de remplissage
    Par ToFind dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/02/2013, 11h52

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