IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

[VBA-W]Comment trouver un texte entre balises en boucle et le sélectionner


Sujet :

Contribuez

  1. #1
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/02/2014, 09h30
  2. [RegEx] Comment récupérer du texte entre balises <font> ?
    Par leboy dans le forum Langage
    Réponses: 3
    Dernier message: 11/04/2007, 18h03
  3. [VBA-E]comment trouver la dernière ligne contenan
    Par couscoussier dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/03/2006, 16h53
  4. Comment trouver le texte sous le curseur ?
    Par deetox dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2005, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo