Dans un document word, j'ai un tableau et je souhaitais compter le=20
nombre d'occurrence de 2 mots =E0 l'int=E9rieur du tableau qui n'est qu'u=
ne=20
partie du document.
J'arrive bien =E0 s=E9lectionner le texte concern=E9 (tableau) avec 2 sig=
nets=20
mais par contre la boucle ne s'arr=EAte pas =E0 la fin de la s=E9lection =
et=20
continue jusqu'=E0 la fin du document.... Quand au second comptage, il le=
=20
passe directement et m'indique 0.
Je ne vois pas trop d'o=F9 vient le pb. Si l'un ou l'une d'entre vous=20
pouvait avoir la gentillesse de m'=E9clairer, je l'en remercie d'avance.
Sub Compte()
Dim X As Long, Y As Long
Dim Plage As Range
Dim Count As Integer, Count1 As Integer
Dim searchtext As String
'Selection du texte entre 2 signets
X =3D ActiveDocument.Bookmarks("Debutablo").Start
Y =3D ActiveDocument.Bookmarks("Fintablo").End
Set Plage =3D ActiveDocument.Range(Start:=3DX, End:=3DY)
MsgBox Plage.Text 'simplement pour voir le texte s=E9lectionn=E9
'Comptage
Count =3D 0
searchtext =3D "Titulaire"
With Plage.Find
Do While .Execute(FindText:=3Dsearchtext$, Format:=3DFalse,=20
MatchCase:=3DFalse, MatchWholeWord:=3DTrue) =3D True
Count =3D Count + 1
Loop
End With
MsgBox searchtext$ & " a =E9t=E9 trouv=E9 " & Count & " fois"
ActiveDocument.Bookmarks("Nb1").Range.Text =3D Count
Count1 =3D 0
searchtext =3D "Stagiaire"
With Plage.Find
Do While .Execute(FindText:=3Dsearchtext$, Format:=3DFalse,=20
MatchCase:=3DFalse, MatchWholeWord:=3DTrue) =3D True
Count1 =3D Count1 + 1
Loop
End With
MsgBox searchtext$ & " a =E9t=E9 trouv=E9 " & Count1 & " fois"
ActiveDocument.Bookmarks("Nb2").Range.Text =3D Count1
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JièL
Hello,
Le 18/09/2015 15:28, danielos a écrit :
Bonjour,
Dans un document word, j'ai un tableau et je souhaitais compter le nombre d'occurrence de 2 mots à l'intérieur du tableau qui n'est qu'une partie du document.
Essaye ça Sub Compte()
Dim Plage As String Dim Compteur As Integer, Compteur1 As Integer Dim searchtext As String Dim Tableau() As String
Debug.Print searchtext & " a été trouvé " & Compteur1 & " fois"
End Sub
Le 1 de ActiveDocument.Tables(1) correspond au numéro d'ordre du tableau
LCase c'est pour tout transformer en minuscule des fois qu'ils ne soient pas toujours écrit de la même manière
Et perso, je préfère les Debug.Print ça permet de rester dans la fenêtre de code et de tout voir sans devoir cliquer sur OK à chaque boite de dialogue
Merci encore. Daniel
-- JièL
Hello,
Le 18/09/2015 15:28, danielos a écrit :
Bonjour,
Dans un document word, j'ai un tableau et je souhaitais compter le
nombre d'occurrence de 2 mots à l'intérieur du tableau qui n'est qu'une
partie du document.
Essaye ça
Sub Compte()
Dim Plage As String
Dim Compteur As Integer, Compteur1 As Integer
Dim searchtext As String
Dim Tableau() As String
Dans un document word, j'ai un tableau et je souhaitais compter le nombre d'occurrence de 2 mots à l'intérieur du tableau qui n'est qu'une partie du document.
Essaye ça Sub Compte()
Dim Plage As String Dim Compteur As Integer, Compteur1 As Integer Dim searchtext As String Dim Tableau() As String