Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > Contribuez
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/05/2007, 12h29   #1
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Par défaut [VBA-W]Comment trouver un texte entre balises en boucle et le sélectionner

Ici, on recherche le texte situé entre les balises < et >
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub RechercheEnBoucle()
Dim fin as boolean
Dim LeMot as string
    Selection.HomeKey Unit:=wdStory
    With Selection.Find
        .Text = "[<]*[>]"
        .Forward = True
        .Wrap = wdFindContinue
    End With
    Do While Not fin
        fin = Selection.Find.Execute = False
        If Not fin Then _
             LeMot = Mid(Selection.Text, 2, Len(Selection.Text) - 2)
             Selection.MoveRight Unit:=wdCharacter, Count:=1
    Loop
End Sub
Edit
Apparemment, cette solution ne fonctionne pas (plus !)
Une explication sur le post suivant
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2007, 17h23   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Par défaut La même chose, nouvelle mouture

N'ayant pas réussi à "re" faire fonctionner le code précédent, j'ajoute ici une solution qui fonctionne (aujourd'hui 26 mai 2007 à 17h17... Soyons prudent)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub SelectionDunTextEntreBalises()
    Selection.HomeKey unit:=wdStory
    Do While Not fin
        With Selection
            With .Find
                .Text = "<"
                .Execute
                .Forward = True
                fin = .Found = False
            End With
            .ExtendMode = True
            If Not fin Then
                With .Find
                    .Text = ">"
                    .Forward = True
                    .Execute
                End With
                MsgBox Mid(Selection.Text, 2, Len(Selection.Text) - 2)
                .ExtendMode = False
                .MoveRight unit:=wdWord, Count:=1
            End If
        End With
    Loop
End Sub
Une explication sur la défaillance du code avec "[<]*[>]" me conviendrait assez. Si je l'ai placé là, c'est "qu'alors" il fonctionnait
Je ne me souviens pas non plus où j'avais trouvé l'idée de cette syntaxe qui ressemble assez à ce qu'on pourrait utiliser avec Like.
Une idée ?
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h29.


 
 
 
 
Partenaires

Hébergement Web