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 :

Macro permettant de colorier une case


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 9
    Par défaut Macro permettant de colorier une case
    Bonjour,

    J'ai effectué plusieurs recherche sur le forum mais je ne trouve pas ma réponse à ma question.
    Alors je vous explique, j'aimerais une macro qui permette de colorier en vert une case qui ne contient pas "absent" ou qui n'est pas vide. (soit 2 conditions)
    Beaucoup de réponses à cette question me renvoie à l'onglet "mise en forme conditionnelle" mais celle ci ne colorie que les cases vides

    Je vous remercie par avance de vos réponses,

    Cordialement

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    essayez avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
     
    Sub Test_FM()
    Dim DerLign As Long
    Dim Plage As Range
    Dim Cell As Range
    DerLign = Range("A65536").End(xlUp).Row 'N° de la dernière ligne colonne A
        Set Plage = Range("A1" & ":C" & DerLign) 'Définir la plage à adapter si nécessaire
            For Each Cell In Plage
            If Not Cell.Value Like "*Absent*" And Cell.Value <> "" Then Cell.Interior.ColorIndex = 4
            Next Cell
    End Sub

  3. #3
    Membre actif Avatar de zipbox
    Homme Profil pro
    Excel VBA
    Inscrit en
    Juillet 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Excel VBA

    Informations forums :
    Inscription : Juillet 2004
    Messages : 49
    Par défaut
    Bonjour,

    On peut aussi utiliser une mise en forme conditionnelle :

    ajouter mise en forme conditionnelle n° 1

    1) Ajouter une mise en forme conditionnelle

    2) Appliquer une mise en forme uniquement aux cellules qui contiennent

    3) texte spécifique; contenant; absent

    puis ajouter mise en forme conditionnelle n° 2

    4) Appliquer une mise en forme uniquement aux cellules qui contiennent

    5) Cellules vides


  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2017
    Messages : 9
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    Bonjour BENNASR,

    Merci de votre réponse rapide.
    j'ai essayé le code, mais cela ne fonctionne pas
    message d’erreur sur cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Cell.Value Like "*Absent*" And Cell.Value <> "" Then Cell.Interior.ColorIndex = 4
    Cordialement,

    Citation Envoyé par zipbox Voir le message
    Bonjour zipbox

    La mise en forme conditionnelle ne fonctionne pas car je veux colorier les cases qui ne contiennent pas "absent" et et qu'elles ne soit pas vides
    Avez vous une autre solution ?

    Cordialement

  5. #5
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, vous pouvez le faire avec une mise en forme conditionnelle .
    Nom : Capture d’écran 2019-05-22 à 06.42.54.png
Affichages : 1431
Taille : 39,2 Ko

    Vous remplissez avec une mise en forme automatique pour avoir les cellules concernées identiques à celles sans mise en forme et vous validez. voir ci-dessous
    Nom : Capture d’écran 2019-05-22 à 06.43.18.png
Affichages : 1415
Taille : 30,8 Ko

    Vous creez ensuite une deuxième règle comme ci dessous avec le choix de la couleur que vous souhaitez.
    Nom : Capture d’écran 2019-05-22 à 06.43.40.png
Affichages : 1407
Taille : 34,3 Ko

    Et voila le résultat
    Nom : Capture d’écran 2019-05-22 à 06.52.06.png
Affichages : 1395
Taille : 7,2 Ko

    Cordialement

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    Beaucoup de réponses à cette question me renvoie à l'onglet "mise en forme conditionnelle" mais celle ci ne colorie que les cases vides
    Et c'est normal, la MEF est faite pour ça, beaucoup plus pratique et réactive qu'une macro. Même si c'est pas toujours facile à utiliser au premier abord.
    Perso plutôt que des contient/ ne contient pas je préfère utiliser la MEF par formule (MEF-> gérer les règles-> nouvelle règles-> formules (la dernière)

    Pour ton problème ça donne en une seul MEF par formule: =ET(A1<>"";A1<>"absent")

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2019
    Messages : 101
    Par défaut
    Bonjour,
    Le plus simple est effectivement de faire une mise en forme conditionnelle.

    Mais pour le plaisir, voici un petit code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Couleur()
    Dligne = Range("A15000").End(xlUp).Row
    For I = 1 To Dligne
    If Cells(I, 1) <> "Absent" And Cells(I, 1) <> "" Then Cells(I, 1).Interior.Color = RGB(174, 240, 194)
     
    Next I
     
    End Sub



    Nom : couleur cellule.PNG
Affichages : 1377
Taille : 7,6 Ko



    Bonne journée !
    Mickamax

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonjour
    Citation Envoyé par inconnu3 Voir le message
    ... une macro qui permette de colorier en vert une case qui ne contient pas "absent" ou qui n'est pas vide.
    Autre proposition : une évènementielle dans la fenêtre des codes de la feuille source et qui agit comme une MFC au changement de saisie d’une cellule de la plage concernée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal R As Range)
      Dim P As Range
      Set P = Range("A2", Cells(Rows.Count, 1).End(xlUp))   ‘à adapter
      If Not Intersect(R, P) Is Nothing And R.Count = 1 Then _
         R.Interior.ColorIndex = IIf(R <> "Absent" And R = "", xlNone, 4)
    End Sub

Discussions similaires

  1. Macro permettant d'aller à une ligne donnée
    Par jbggg dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/03/2018, 14h28
  2. macro permettant de lancer une numérisation par scanner
    Par mauriceguillier dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/09/2014, 10h51
  3. colorier une case si la case associer est rempli
    Par MissGeekEtBeauty dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/03/2012, 20h36
  4. colorier une case d'un tableau selon le resultat d'une requete
    Par zerocoolyoussef dans le forum Jasper
    Réponses: 5
    Dernier message: 05/04/2009, 19h21
  5. Peut on colorier une case d'une JList?
    Par L4BiN dans le forum Composants
    Réponses: 1
    Dernier message: 30/08/2006, 12h10

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