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

Excel Discussion :

compter les lignes


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Points : 31
    Points
    31
    Par défaut compter les lignes
    Bonjour,

    Je souhaite trouver une formule pour qu'en fonction d'une valeur dans une colonne je compte le nombre de ligne qui a cette valeur. Ici 'BONJOUR'

    Voila ce que j'ai mis , mais ca ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI((G16:G34)="BONJOUR";LIGNES(G16:G34);0)
    quelqu'un peut m'aider?

    Merci!

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 602
    Points : 34 273
    Points
    34 273
    Par défaut
    salut,
    la fonction que tu recherches est
    NB.SI()
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut chouki60 et joyeux Noël à tous
    J'aime pas les NB.SI()
    Donc, une autre solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((G16:G34="BONJOUR")*1)
    Avantage : tu peux combiner plusieurs conditions.
    A+

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut
    Bonjour,

    Je te propose la fonction suivante pour connaître le nombre de lignes dans un tableau Excel :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
     
     
     
    Public Function FctCompteLignes( _
            ByRef IntNbLignes As Integer, _
            Optional ByVal StrActif As String, _
            Optional ByVal StrAdresseDepart As String = "A1") As Boolean
        '
        Dim RangeDonnee     As Range
        Dim RangeDown       As Range
        Dim StrAdresse      As String
        Dim StrAdresseSub   As String
        Dim LngDerniereLigne As Long
        '
        Dim BoolResult      As Boolean
        Dim StrNomProcApp   As String   'Stockage de la procédure appelante
     
    On Error GoTo Erreur
     
        'Gestion des erreurs
        '**************************
        StrNomProcApp = NomProc
        NomProc = "FctCompteLignes"  'Gestion des erreurs (procédure en cours)
        BoolResult = False
     
        'Traitement
        '**************************
        If Not FctSelectionRangeColonne(StrAdresse, StrActif, StrAdresseDepart) Then
            GoTo Sortie
        End If
     
        StrAdresseSub = (Split(StrAdresse, ":")(1))
     
        StrAdresse = (Split(StrAdresseSub, "$")(2))
        IntNbLignes = CLng(StrAdresse)
     
        BoolResult = True
     
    Sortie:
        'Libération de la mémoire
        Set RangeDonnee = Nothing
        Set RangeDown = Nothing
     
        'Cloture
        NomProc = StrNomProcApp
        FctCompteLignes = BoolResult
        Exit Function
     
    Erreur:
     
        MsgBox NomProc & vbCr & Err.Number & " - " & Err.Description, vbCritical
        BoolResult = False
        GoTo Sortie
     
    End Function
     
     
     
    Public Function FctSelectionRangeColonne( _
            ByRef StrAdresse As String, _
            Optional ByVal StrActif As String, _
            Optional ByVal StrAdresseDepart As String = "A1") As Boolean
        '
        Dim BoolResult      As Boolean
        Dim StrNomProcApp   As String   'Stockage de la procédure appelante
        '
        Dim RangeDonnee     As Range
        Dim RangeDown       As Range
     
    On Error Resume Next
     
        'Gestion des erreurs
        '**************************
        StrNomProcApp = NomProc
        NomProc = "FctSelectionRangeColonne"  'Gestion des erreurs (procédure en cours)
        BoolResult = False
     
        'Traitement
    '    '**************************
    '    Set RangeDonnee = IIf(Trim(StrActif) = "", ThisWorkbook.Worksheets(1).Range(StrAdresseDepart), ThisWorkbook.Worksheets(StrActif).Range(StrAdresseDepart))
        If (Trim(StrActif) = "") Then
            Set RangeDonnee = ThisWorkbook.Worksheets(1).Range(StrAdresseDepart)
        Else
            Set RangeDonnee = ThisWorkbook.Worksheets(StrActif).Range(StrAdresseDepart)
        End If
     
        Set RangeDown = Range(RangeDonnee.Cells, RangeDonnee.End(xlDown).Cells)
     
        StrAdresse = RangeDown.Address
     
        BoolResult = True
     
    Sortie:
        'Libération de la mémoire
        Set RangeDonnee = Nothing
        Set RangeDown = Nothing
     
        'Cloture
        NomProc = StrNomProcApp
        FctSelectionRangeColonne = BoolResult
        Exit Function
     
    Erreur:
        MsgBox NomProc & vbCr & Err.Number & " - " & Err.Description, vbCritical
        BoolResult = False
        GoTo Sortie
     
    End Function

    Bonne soirée et Joyeux Noël.

    Marco.

Discussions similaires

  1. compter les lignes d'un recordset
    Par boss_gama dans le forum ASP
    Réponses: 1
    Dernier message: 24/07/2006, 15h44
  2. Problème pour compter les lignes d'un résultat
    Par Yoshidu62 dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/07/2006, 11h18
  3. Compter les lignes du résultat d'une requete
    Par mfavier dans le forum ASP
    Réponses: 4
    Dernier message: 30/06/2006, 21h05
  4. Compter les lignes d une <TABLE>
    Par Invité(e) dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/01/2005, 14h43
  5. [C#] Compter les lignes d'un DataSet
    Par alexischmit dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/04/2004, 15h17

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