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

Macros et VBA Excel Discussion :

Récupérer champs dans Word


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut Récupérer champs dans Word
    Bonjour,

    J'ai lu cette discussion et j'ai moi-même besoin d'aide pour piloter Word.

    Depuis Excel, j'aimerais sélectionner (.Follow) un certain champ dans la table des matières afin d'arriver directement à la page voulue.

    J'ai déjà écrit ceci :

    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
    Sub Picture_Click()
     
        Dim NumPicture As String
        Dim appword As Word.Application
     
        NumPicture = Application.Caller
        Set appword = New Word.Application
        Application.DisplayAlerts = True
        appword.ShowMe
        appword.Visible = True
        appword.Documents.Open (ThisWorkbook.Path & "\Document.doc")
     
        Dim Itm As Field
     
        For Each Itm In ActiveDocument
     
     
        Next
     
        appword.Documents.Close
    End Sub
    Donc c'est bien dans la boucle "For Each" que je suis bloqué car je n'arrive pas à contrôler chaque champ composant la table des matières et encore moins récupérer le numéro du champ afin de le comparer à la variable "NumPicture"

    Première fois que j'utilise du word en vba et j'ai un peut de mal je dois dire

    Merci à(aux) âme(s) qui voudront bien m'aider !

  2. #2
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 13
    Par défaut
    J'ai pour finir trouvé comment faire, voici ma solution :

    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
    Sub Picture_Click()
     
        Dim NumPicture As String
     
     
        NumPicture = Application.Caller
        NumPicture = Mid(NumPicture, 9, 1) & "." & Mid(NumPicture, 10, Len(NumPicture) - 9)
        Set WordApp = New Word.Application
        Application.DisplayAlerts = False
        WordApp.ShowMe
        WordApp.Visible = True
        Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\" & Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - 4) & ".doc")
     
            WordDoc.Application.Activate
     
            WordDoc.TablesOfContents(1).UseFields = True
     
            For i = 1 To WordDoc.Fields.Count
                If Left(WordDoc.Fields(i).Result.Text, Len(NumPicture)) = NumPicture Then
                    WordDoc.Fields(i).DoClick
                End If
            Next
    End Sub
    A+ sur le fofo

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

Discussions similaires

  1. [XL-2007] Macro - Récupérer champs dans tables Word
    Par Vitalic dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 15/02/2011, 17h01
  2. récupérer champs dans une requéte sql.
    Par Syphys dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 16/08/2010, 14h38
  3. récupérer champ dans Active Directory
    Par cougar5 dans le forum Langage
    Réponses: 9
    Dernier message: 08/03/2010, 23h13
  4. VB6 et remplissage champs dans Word
    Par dominux80 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/09/2008, 04h48
  5. COmment calculer le cosinus d'un champs dans word ?
    Par ced57 dans le forum VBA Word
    Réponses: 5
    Dernier message: 22/12/2007, 20h16

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