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 :

Compter lignes selon couleur de la cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 38
    Points : 24
    Points
    24
    Par défaut Compter lignes selon couleur de la cellule
    Bonjour à tous,

    Voila, je cherche à compter le nombre de ligne d'une couleur selon leur couleur dans un tableau en feuille 4.
    Dans mon tableau, j'ai 5 possibilités de couleur:
    rouge= Interior.ColorIndex = 45
    orange=Interior.ColorIndex = 19
    Blanc=Interior.ColorIndex = 2
    Bleu=Interior.ColorIndex = 37
    Vert=Interior.ColorIndex = 35

    Je souhaite donc, qu'à l'ouverture d'une feuille (7), il me compte le nombre de ligne pour chacun des critères, et que les résultats soient affichés dans des cellules de cette feuille.

    J'ai bien commencé à faire un test avec un seul critère, mais ca fonctionne pas, car il m'affiche 0... erreur de code très très probablement

    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 r As String
    Dim d As Integer
    Private Sub Worksheet_Activate()
     
    r = 0
    Feuil4.Unprotect (123)
    For d = Feuil4.Cells.SpecialCells(Type:=xlCellTypeLastCell).Row To 1 Step -1
    If Feuil4.Cells(d, 1) = Feuil4.Cells(d, 1).Interior.ColorIndex = 45 Then
    r = r + 1
    End If
    Next
    Feuil7.Range("G" & 13).Value = r
    Feuil4.Protect (123)
     
     
    ' rafraichir
    ThisWorkbook.RefreshAll
     
    End Sub
    Merci par avance de votre aide

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    vu que ton code est plutot spécial, par exemple ceci est très singulier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Feuil4.Cells(d, 1) = Feuil4.Cells(d, 1).Interior.ColorIndex = 45 Then
    je ne peux que te conseiller de faire une recherche dans ce forum sur ton thème.
    La réponse y est.

    Tu pourras en même temps améliorer ta syntaxe de codage.

    Bonne après-midi.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    J'ai beau effectuer de nouveau une recherche, je ne trouve rien...
    Si tu pouvais m'indiquer la méthode de recherche; mots clé que tu as utilisé, ou meme le lien directement, j'essaierai alors de me débrouiller avec ca.

    Merci par avance

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Feuil4.Cells(d, 1) = Feuil4.Cells(d, 1).Interior.ColorIndex = 45 Then
    veux dire
    Si la cellule A4 est égale à la couleur de fond de la cellule A4 est égale à la couleur numéro 45 alors
    et n'a de sens ni en français ni en VB.

    Il y a un = de trop.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Feuil4.Cells(d, 1).Interior.ColorIndex = 45 Then
    devrait donner de meilleurs résultats.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Génial ca marche !
    J'était pas loin...mais effectivement, en traduisant en francais...ben ca ressemblais à rien ma ligne de condition ...
    M'enfin...
    En tout cas merci à vous deux de vous être penchés sur mon cas

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

Discussions similaires

  1. Changer la couleur d une ligne selon la valeur d une cellule
    Par TGO2009 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2014, 01h06
  2. [XL-2013] Condition de calcul selon couleur de la cellule
    Par coolkik dans le forum Excel
    Réponses: 2
    Dernier message: 01/02/2014, 11h18
  3. [Toutes versions] Valeur d'une cellule selon couleur de la cellule : Optimisation du code
    Par Invité dans le forum Excel
    Réponses: 4
    Dernier message: 24/02/2012, 10h06
  4. Filtre automatique selon couleurs des cellules
    Par stryker973 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 21/03/2008, 12h29
  5. Grouper selon couleur de fonds des cellules
    Par vinfranaur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/08/2006, 10h02

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