Compter le nombre de fois où un mot apparaît dans une colonne donnée

Résolu
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008 - 4 sept. 2006 à 10:54
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 5 sept. 2006 à 08:56
Bonjour,

Dans un tableau, je souhaite compter le nombre de fois où le mot "incident" apparaît dans la colonne "B3".
Sachant que le nombre total d'enregistrement dans la colonne est variable.

Merci beaucoup pour votre aide.

Cdt,

9 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 sept. 2006 à 10:57
Salut,
Est ce que l'enregistreur de macro ne peut pas t'aider?

A l'aide d'une boucle et d'une mémorisation de la premiere ligne trouver (pour ne pas boucler infiniment).

 Columns("B:B").Select
    Selection.Find(What:="incident", After:=ActiveCell, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
        MatchCase:=False).Activate

NOTE: B3 n'est pas une colonne..

@+,   Ju£i?n
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
4 sept. 2006 à 11:00
Salut,

Comme Julien te le précise, il faut utiliser l'instruction Find.
Après le Selection.Find(What:="incident", ... mettre
Find.Next (c'est ça qui devra être bouclé)

++
3
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 sept. 2006 à 11:09
Salut,


Essaie ceci.









    Dim NumFois As Long 
    Dim Li As Long 
    Dim Tmp As Long 
    Columns("B:B").Select 
    On Error Resume Next 
        Call Selection.Find(What:="incident", After:=ActiveCell, LookIn:=xlValues, _ 
        LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _ 
        MatchCase:=False).Activate 

    If Err.Number = 91 Then 
        MsgBox "Pas trouver" 
        Call Err.Clear 
    Else 
        Li = ActiveCell.Row 
        If Li <> 0 Then NumFois = NumFois + 1 
        While Tmp <> Li 
            Selection.FindNext(After:=ActiveCell).Activate 
            Tmp = ActiveCell.Row 
            NumFois = NumFois + 1 
        Wend 

        MsgBox NumFois - 1 
    End If 
    On Error GoTo 0 
 







<small> Coloration syntaxique automatique [AFCK]</small>

       







 






@+,   Ju£i?n
3
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
4 sept. 2006 à 11:10
Merci beaucoup,

C'est exact, je voulais dire B, pardon.

C'est en effet la fonction qu'il me faut :D
Mais comment compter le nombre de fois où il est trouvé ?
Je dois bidouiller une sorte de compteur ou il existe une fonction ?

Merci encore.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
4 sept. 2006 à 11:11
C'est excellent,

Merci mille fois les gars !!!
Toujours là pour aider, c'est gentil, c'est cool

Sûrement à bientôt !!!
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 23 août 2018 21
4 sept. 2006 à 17:56
Salut,


Une simple formule ne pourrait pas suffire ?

NB.SI(B:B;"*incident*")

MPi
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
5 sept. 2006 à 00:14
Je n'osais pas le dire, et comme je venais de mettre des formules dans 2 autres posts
Bien content que quelqu'un d'autre s'y soit collé

Molenn
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 23 août 2018 21
5 sept. 2006 à 00:41
Molenn, je pensais justement à toi en répondant... ¦¬)

MPi
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
5 sept. 2006 à 08:56
Re,
>528680 Molenn, =6078 MPi: je savais (je supposais) qu une formule existait pour faire cela, mais je ne connais pas assez Excel pour la donner, donc je propose ce que je sais faire (mais cela Molenn le savais déjà)

En plus en sachant que vous n'êtes jamais loin je savais que cela ne valais pas la peine de passer trois 3 heures a chercher la formule alors que vous vous la donner en 5 minutes même pas.

@+,   Ju£i?n
0