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

VBA Word Discussion :

En VB: Rechercher tous les chaines commençant par 2 même caractères


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut En VB: Rechercher tous les chaines commençant par 2 même caractères
    Bonjour, je suis débutante en VB , j'ai quelques lacunes de base...

    Je dois rechercher toutes les chaines de 8 caractères commençant par le même code "OLI" par exemple , et les mettre dans un tableau.

    Le but final: remplacer toutes ces chaines par d'autres via un tableau de transco (curieusement je peux faire).

    Merci de votre aide!

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Peut etre possible d'utiliser un truc comme ça non ?

    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
    Sub test()
    ThisDocument.Select
    With Selection
      .Find.Text = "oli"
      .Find.Execute
     
    While .Find.Found
      .EndOf wdWord, wdExtend
      If Len(Trim(.Text)) = 8 Then MsgBox Trim(.Text)
      .Move wdCharacter, 1
      .EndOf unit:=wdStory, Extend:=wdExtend
      .Find.Execute
    Wend
    End With
    End Sub

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci de ta reponse rapide !
    Bien euh j'ai eu plein de messages d'erreur.. j'ai dû ecrire le debut comme ça:

    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 Macro1()
    ThisDocument.Select
    With Selection.Find
      .Text = "D710"
      .Execute
     
    While .Found
      .EndOf wdWord, wdExtend
      If Len(Trim(.Text)) = 8 Then MsgBox Trim(.Text)
      .Move wdCharacter, 1
      .EndOf unit:=wdStory, Extend:=wdExtend
      .Find.Execute
    Wend
    End With
     
    End Sub
    .. et ça bloque encore sur le 'EndOf' : "Membre de methode ou de données introuvable"

    -> y a t-il un probleme avec ma version de word?
    ou je suis trop nulle et puis voilà...

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Attention, on a pas le même With

    EndOf s'applique à Selection et non à Selection.Find

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ah oui ça marche..

    par contre, si je peux t'embeter encore..

    La longueur du texte trouvé "D710" avec ce code est toujours 4, alors que je voudrais trouver tous les mots commençant par D710, de longueur 8,
    exemple pour ce texte:

    blablabla D710ERFT blablabla D710THNK
    bjhmkjdsqlkhqsfmljhFMljhqfD710GHIPR

    je voudrais récuperer successivement:
    D710ERFT
    D710THNK
    D710GHIP

    c'est possible?
    si je n'abuse pas trop..

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    C'est justement sensé le faire puisqu'on étend la sélection au mot entier. Le problème va justement se poser si ce ne sont pas des mots (séparés par des espaces)

    Peut etre ainsi :

    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
    Sub test()
    ThisDocument.Select
    With Selection
      .Find.Text = "oli"
      .Find.Execute
     
    While .Find.Found
      .Extend 8
      If Len(Trim(.Text)) = 8 Then MsgBox Trim(.Text)
      .Move wdCharacter, 1
      .EndOf unit:=wdStory, Extend:=wdExtend
      .Find.Execute
    Wend
    End With
    End Sub

Discussions similaires

  1. Réponses: 9
    Dernier message: 21/07/2009, 17h45
  2. Rechercher tous les ID commencant par
    Par kryogen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/01/2008, 14h07
  3. [exp reguliere]Bouton "tout cocher" pour tous les id commençant par 'bvt_'
    Par boniface dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/06/2007, 15h58
  4. fonction recherche tous les articles commencant par *
    Par Daniel MOREAU dans le forum Access
    Réponses: 4
    Dernier message: 31/01/2007, 16h04
  5. [VB6] Recherche d'une chaine commençant par XX
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/05/2006, 09h23

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