Compteur d'occurence d'un mot

Résolu
jazzcaf Messages postés 2 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 22 août 2005 - 22 août 2005 à 14:53
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 - 22 août 2005 à 15:55
Bonjour,



Je suis en train d'écrire une petite macro en VBA Excel pour faire quelques stats.



J'aimerais en fait connaître le nombre de cellule (dans une seule
colonne) dans lesquelles le mot "conforme" apparaît. Hors si je mets:



If cells(i, j).value = "conforme" il ne considère que les cellules ou
se mot est seul et bien orthographié, mais le mot conforme se trouve
dans une phrase. Comment faire pour qu'il ne prenne en compte que le
mot conforme?



D'avance je vous remercie

5 réponses

guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
22 août 2005 à 15:21
Salut à toi Ô programmeur VB sous Excel,

En considérant que la colonne que tu veux tester soit la 2ème tu dois mettre la commande suivante :
Selection.AutoFilter Field:=2, Criteria1:="=*conforme*", Operator:=xlAnd

Dans le cas d'une macro sans filtre automatique tu dois mettre la fonction suivante :

Public Sub CompterCONFORME()
Ligne = 2
Cpt = 0
Do
DoEvents
If UCase(Cells(Ligne, 2)) Like "*CONFORME*" Then
Cpt = Cpt + 1
End If
Ligne = Ligne + 1
If Cells(Ligne, 2) = "" Then Exit Do
Loop
Cells(1, 3) = Cpt
End Sub


Private Sub CommandButton1_Click()
CompterCONFORME
End Sub

Et Voilà !!

Olivier
3
Ninette08 Messages postés 56 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 14 septembre 2005
22 août 2005 à 15:11
for i = 1 to len(cells(i, j).value )-8
if mid (cells(i, j).value,i,8)= "conforme" then
"ok"
end if
next i

Ninette
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 août 2005 à 15:18
Utilise plutôt InStr, ce sera sûrement plus rapide :



dim iPosition as integer

dim iNombreMot as integer

Let iPosition = 1

While iPosition <> 0



Let iPosition = InStr(iPosition, texte, mot)

Let iNombreMot = iNombreMot + 1



Wend
Let iNombreMot = iNombreMot - 1


DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
jazzcaf Messages postés 2 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 22 août 2005
22 août 2005 à 15:52
Merci beaucoup ca fonctionne nickel maintenant ;-)
0

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

Posez votre question
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
22 août 2005 à 15:55
De rien !
0