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 :

Colorer une cellule si non vide


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Colorer une cellule si non vide
    Bonjour à tous,

    J'ai trouvé ce code dans un post sur ce site, code écrit par patricktoulon. Ma question est : est-ce que je peux utiliser ce code si je souhaite qu'une cellule soit colorée si elle est non vide.

    Pour le moment, toutes les cellules sont en bleues, et je souhaite que la cellule où j'ai saisi quelque chose devienne blanche.

    Un détail qui a son importance, dans toutes les cellules il y a une formule de calcul, donc tant que le résultats est nul, la cellule reste vide, elle doit donc changer uniquement si le résultat est supérieur à zéro.

    Merci par avance

    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
    18
    19
    20
     
    Dim cell As Range
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    ' on limite a l'index le plus haut de la pallete couleur excel
     
     
        If Intersect(Target, Range("a1")) Is Nothing Then
        Else
            If Target.Value > 56 Then Target.Value = 56
     
     
            For Each cell In Sheets("Feuil1").Range("a1:p200")
                DoEvents    ' selon ta plage ca peut etre plus ou moins long
     
    'ici ''je ''teste ''si 'il 'y 'a 'le 'mot "couleur" 'tu 'peut 'tres 'bien ''tester 'la 'presence 'de 'la 'fonction
     If cell = "couleur" Then cell.Interior.ColorIndex = Target.Value    'si la cellule ="couleur"on la paint avec le chiffre se triuvant dans la cellule a1
            Next
        End If
    End Sub

  2. #2
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Pourquoi pas une mise en forme automatique ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour zebreloup

    Pour répondre à ta question, j'ai beaucoup trop de cellules, je trouve plus rapide la méthode VBA que de recopier la formule à chaque fois. En plus, j'ai 5 feuilles de calcul.

    Mais bon, ton idée n'est pas mauvaise, j'y ai pensé.

  4. #4
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Tu sais que tu peux appliquer une mise en forme automatique sur un groupe de cellules ? Au pire tu dois copier 5 fois la formule si tu as 5 feuilles. Mais de toute façon, tu devras copier ton code sur toutes les feuilles, donc...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Oui tu as tout à fait raison. Je vais appliquer ça.

    Merci pour ton aide

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/04/2015, 15h06
  2. [XL-2010] Copier le contenu d'une cellule si la cellule est non vide
    Par Bleue dans le forum Conception
    Réponses: 1
    Dernier message: 14/03/2014, 15h38
  3. Réponses: 3
    Dernier message: 17/12/2012, 09h32
  4. colorer une cellule de striggrid
    Par malikakika dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/06/2008, 10h31
  5. [VBA-E]copie du contenu de la cellule si non vide
    Par zougna dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/02/2007, 16h53

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