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 le nb de cellules mises en gras par MFC


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    je recherche de l'aide pour pouvoir compter dans une colonne le nombre de cellules qui ont été mises en gras par une mise en forme conditionnelle.
    Et cerise sur le gateau, si cela peut se calculer en sous-total en cas de filtre, ce serait du bonheur! :-)

    Je vous remercie beaucoup d'avance.

    Pour que ce soit plus visuel pour vous, je vous joins un exemple.

    En colonne A : j'ai les références définitives de mon portefeuille.
    En colonne B : les références initiale.

    je veux comparer les différences que sur les refs initiales.

    En colonne C : j'ai le fabricant théorique
    En colonne D: j'ai la longueur théorique de la ref
    En colonne E : j'ai le fabricant réel ; si E4 <> C4 alors E4 est gras
    En colonne F : j'ai la longueur réelle; si F4<D4*0,95 ou F4>D4*1,05 alors F4 est gras (j'ai mis une tolérance de 5%)

    En E3 : je souhaite comptabiliser les "gras" soit 4
    En F3 : je souhaite comptabiliser les "gras" soit 5

    si vous pouvez m'aider...
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Au lieu de compter les cellules en gras (qui répondent à un certain critère)
    par code on fait le compte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Tst()
    Dim Lastlig As Long
    Dim S As Integer, T As Integer
    Lastlig = Cells(Rows.Count, 5).End(xlUp).Row
    For i = 4 To Lastlig
        If Range("B" & i) <> "" Then
            If Range("C" & i) <> Range("E" & i) Then S = S + 1
            If Range("F" & i) < 0.95 * Range("D" & i) Or Range("F" & i) > 1.05 * Range("D" & i) Then T = T + 1
        End If
    Next i
    Range("E3") = S
    Range("F3") = T
    End Sub
    On peu par exemple l'incorporer dans l'évènement Change de la feuille
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    Dim S As Integer, T As Integer
     
    If Target.Count = 1 Then
        If Target.Column < 6 And Target.Row > 3 Then
            i = Target.Row
            If Range("B" & i) <> "" Then
                If Range("C" & i) <> Range("E" & i) Then S = S + 1
                If Range("F" & i) < 0.95 * Range("D" & i) Or Range("F" & i) > 1.05 * Range("D" & i) Then T = T + 1
            End If
            Range("E3") = S
            Range("F3") = T
        End If
    End If
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Points : 364
    Points
    364
    Par défaut
    Malheureusement on ne peut pas, avec VBA, récupérer les valeurs appliquées par une mise en forme conditionnelle, pas plus qu'on ne peut savoir si la mise en forme conditionnelle est appliquée ou pas
    Et je ne crois pas que ceci ait changé avec Excel 2007.
    Pour s'en sortir il faut donc que la macro évalue les mêmes conditions que la mise en forme conditionnelle, ce qui n'est pas très pratique .

Discussions similaires

  1. Compter des cellules mises en forme par MFC
    Par cyberneo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/10/2012, 10h37
  2. [XL-2007] Mise en gras d'une cellule si une autre est vide
    Par janfanfoi dans le forum Excel
    Réponses: 7
    Dernier message: 16/01/2011, 14h45
  3. Compter le nombre de cellule
    Par flyfrog dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/06/2006, 14h38
  4. [EXCEL] Mise en gras automatique
    Par sygale dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/04/2006, 14h08

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