Faire un comptage en colonne sous excel [Résolu]

Signaler
Messages postés
11
Date d'inscription
dimanche 21 février 2010
Statut
Membre
Dernière intervention
21 octobre 2010
-
Messages postés
113
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2011
-
Bonjour à tous

Dans un fichier excel je souhaite faire un comptage dans une colonne mais en fonction d'un paramètre se trouvant dans cette même colonne.

Ex: Je souhaite compter le nombre de fois que je trouve Paris, lorsque dans la cellule immédiatement en dessous se trouve londre.

Sachant que cette colonne peut contenir jusqu'à 600 ligness


Cellule Nom
A1 Bruxelle
A2 Paris
A3 Londre
A4 Newyork
A5 Denver
A6 Paris
A7 Tour
A8 Amsterdam
A9 Paris
A10 Londre
A11 Denver
A12 Tour


Dans cette exemple 2 fois.


J'ai essayer avec nb.si, mais j'arrive pas.


Merci d'avance pour votre aide

4 réponses

Messages postés
113
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2011
2
Function NbUnAvantAutre(maPlage As Range, strVal1 As String, strVal2 As String, strVal3 As String)
Dim Cellule
    
    For Each Cellule In maPlage
            
        If Cellule = strVal3 Then
        
            If Cellule.Offset(-1, 0) = strVal2 Then

                If Cellule.Offset(-2, 0) = strVal1 Then
                
                    NbUnAvantAutre = NbUnAvantAutre + 1
                    
                End If

            End If
            
        End If

    Next
    
End Function


Ex : =NbUnAvantAutre(A1:A10;"Paris";"Londres";"New York")

Pac
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
5
Pour interroger 2 critères avec un nb.si, il faut passer par une colonne intermédiaire.

Dans ton cas, tu peux te contenter de mettre dans ta cellule B2 la formule suivante :
ET(A1"Paris";A2="Londre")
et de copier la formule sur toutes tes lignes (un double-clic suffit :) )

Ensuite, tu écris la formule suivante :
C1: =NB.SI(B:B;VRAI)

Et hop, tu as ta réponse.

Molenn
Messages postés
113
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2011
2
Bonjour,

Vous pouvez coller ce bout de code dans un module :
Function NbParisAvantLondre(ByVal maPlage As Range)
Dim Cellule

    For Each Cellule In maPlage
    
        If Cellule = "Paris" Then
        
            If Cellule.Offset(1, 0) = "Londre" Then
            
                NbParisAvantLondre = NbParisAvantLondre + 1
                
            End If
            
        End If

    Next

End Function

et utiliser la formule =NbParisAvantLondre() avec votre plage de cellules en paramètre.

Pac
Messages postés
11
Date d'inscription
dimanche 21 février 2010
Statut
Membre
Dernière intervention
21 octobre 2010

Ok ça marche super

Maintenant si je veux ajouter un paramètre.

Ex : je veux qu'en plus sous Londres se trouve Newyork

Merci d'avance