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 :

travailler sur un range dans un shape [Toutes versions]


Sujet :

VBA Word

  1. #1
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut travailler sur un range dans un shape
    Bonjour à tous,

    existe-t-il une méthode pour travailler sur un range dans un shape, quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set monrange = monshape.range(34,59)
    j'ai essayé dans tous les sens je trouve pas (à part travailler sur characters(i) mais bon)

    Merci à tous
    Gorz

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Quel est ton but ?
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut
    J'ai du texte dans des shapes je dois identifier des balises de début et de fin dans ces shapes

    Je n'ai pas la main sur le word, donc pas de signets, les balises consistent en du texte [(début balise) blabla (fin balise)]

    Pour le corps du doc, j'utilise un .find mais le .find ne passe pas dans les shapes

    Je souhaite donc faire un .find spécifiques pour les shapes. Sur tout ce qui est identification d'un champ unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Find.Execute Findtext := "[MonChamp]"
    ça fonctionne, mais pour les balises je n'arrive pas à adapter le code du corps du doc

    Dans le corps j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          startsearch=0 
                Set myrange1 = docword.Range(startsearch, docword.Range.End)
                myrange1.Find.Execute FindText:="[(début balise)"
                Set myrange2 = docword.Range(myrange1.Start, docword.Content.End)
                myrange2.Find.Execute FindText:="(fin balise)]", Forward:=True
    mais dans le shape,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          startsearch=0 
                        Set myrange1 = appwd.Selection.Range(startsearch, appwd.Selection.End)
                        myrange1.Find.Execute FindText:="[(début balise)"
                        Set myrange2 = Selection.Range(myrange1.Start, Selection.TextFrame.TextRange.End)
                        myrange2.Find.Execute FindText:="(fin balise)]", Forward:=True
    ne fonctionne pas
    J'ai essayé dans tout les sens avec TextFrame.TextRange, etc... et je trouve pas...

    pourtant il me trouve bien Selection.end et Selection.start

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    si c'est une recherche dans le texte d'un shape, tu peux travailler avec un objet Selection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveDocument.Shapes(1).TextFrame.TextRange.Select
    Debug.Print Selection.Text
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut
    J'aimerais bien mais justement, ça ne marche pas... je dois faire la recherche dans une partie du shape seulement, donc avec à un moment un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range(nstartsearch,nendsearch)

  6. #6
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut
    Après des recherches approfondies, j'ai enfin trouvé une solution
    alors pour les suivants ça marche avec la syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Monshape.SetRange Start:= mystart, End:= myend
    en espérant que cela soit utile à certains

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Gestion du DBClick sur un texte dans un Shape
    Par apt dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2012, 17h36
  2. Réponses: 8
    Dernier message: 05/05/2010, 17h46
  3. Réponses: 3
    Dernier message: 27/05/2009, 08h59
  4. Réponses: 12
    Dernier message: 06/12/2008, 14h38
  5. GDI - Travail sur les pixels dans un DIB
    Par jiib dans le forum Windows
    Réponses: 3
    Dernier message: 12/12/2005, 13h17

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