Faire un comptage en colonne sous excel

Résolu
Geraldq Messages postés 11 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 21 octobre 2010 - 22 févr. 2010 à 13:49
cs_pacadebord Messages postés 113 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 19 décembre 2011 - 24 févr. 2010 à 09:38
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

cs_pacadebord Messages postés 113 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 19 décembre 2011 2
24 févr. 2010 à 09:38
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
3
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
22 févr. 2010 à 14:42
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
0
cs_pacadebord Messages postés 113 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 19 décembre 2011 2
22 févr. 2010 à 15:31
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
0
Geraldq Messages postés 11 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 21 octobre 2010
23 févr. 2010 à 16:56
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
0
Rejoignez-nous