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 :

Code VBA pour compter cellules


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Code VBA pour compter cellules
    Bonjour,

    Totalement débutant en VBA, je cherche un code ou une formule qui permette de compter selon un critère sur une plage de cellules :

    dans ma plage, j'ai 2 types de cellules, celles avec du TEXTE, celles avec " - "

    J'aimerai compter uniquement celles avec du texte.

    Avez vous une solution ?

    Merci

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Tu peux essayer avec une formule telle que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NBVAL(Plage)-NB.SI(Plage;"-")
    Cordialement.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci à toi nickel !

    Par curiosité, si tu as l'équivalent VBA cela m'interesse

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Un autre exemple avec une fonction personnelle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function CompterCel(Plage As Range) As Integer
        For Each Cel In Plage
            If Cel.Value <> "" And Cel.Value <> "-" Then
                compteur = compteur + 1
            End If
        Next Cel
        CompterCel = compteur
    End Function
    Cordialement.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci à toi, ça marche bien !


  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 931
    Points : 28 926
    Points
    28 926
    Billets dans le blog
    53
    Par défaut
    Bonjour gFZT82,
    Bien qu'il faille se poser la question sur le bien fondé d'écrire une fonction personnalisée qui fait exactement ce que fait nativement une fonction d'excel mais j'ai bien compris que c'était par pure curiosité intellectuelle.
    Tu aurais pu reprendre tout simplement la même formule que tu as proposé à pierrotyahoo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function CountACountIf(Plage As Range)
      ' NBVAL(plage)-NB.SI(plage;"-")
      With Application.WorksheetFunction
       CountACountIf = .CountA(Plage) - .CountIf(Plage, "-")
      End With
    End Function

  7. #7
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour Philippe,

    Oui, mais si tu fais avec VBA ce que font les fonctions intégrées d’Excel, ça enlève tout le plaisir de se fouler les neurones avec VBA .

    Cordialement.

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 931
    Points : 28 926
    Points
    28 926
    Billets dans le blog
    53
    Par défaut
    Tout à fait exact et c'était pour le plaisir que j'avais relevé.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci messieurs pour votre rapidité !

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

Discussions similaires

  1. [XL-2002] Code VBA pour colorier des cellules à partir de plusieurs critères
    Par NoodleDS dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/11/2013, 22h05
  2. [Toutes versions] Macro ou code VBA pour effacer des caracteres et aller a la ligne dans un meme cellule
    Par ghisunit dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/04/2012, 15h29
  3. [XL-2007] Code VBA pour remplacer le contenu de cellules
    Par tomlapomme dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 25/08/2010, 14h39
  4. Code VBA pour Copier une cellule dans un filtre?
    Par Redisdead dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2009, 05h48
  5. Code VBA pour effacement de contenu de cellules
    Par MAMANHOU dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/03/2008, 15h51

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