Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > Contribuez

Réponse
 
Outils de la discussion
Vieux 03/05/2007, 12h29   #1 (permalink)
Modérateur
 
Avatar de ouskel'n'or
 
Date d'inscription: février 2005
Localisation: Une petite rue qui "avait" un merle
Messages: 11 563
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 :
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
__________________
Je...ne...réponds...pas....aux...questions...techniques... par...mp
La recherche (VBA-E) : Le Forum, La FAQ, Les cours et tutoriels, Contribuez, Les Sources et... l'Aide en ligne !!!

Dernière modification par ouskel'n'or ; 27/05/2007 à 12h57
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/05/2007, 17h23   #2 (permalink)
Modérateur
 
Avatar de ouskel'n'or
 
Date d'inscription: février 2005
Localisation: Une petite rue qui "avait" un merle
Messages: 11 563
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 :
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 ?
__________________
Je...ne...réponds...pas....aux...questions...techniques... par...mp
La recherche (VBA-E) : Le Forum, La FAQ, Les cours et tutoriels, Contribuez, Les Sources et... l'Aide en ligne !!!
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > Contribuez

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 05h17.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations