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 :

Récupérer un tableau (Table) dans une forme (Shape) [WD-2007]


Sujet :

VBA Word

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 270
    Points : 83
    Points
    83
    Par défaut Récupérer un tableau (Table) dans une forme (Shape)
    Bonjour à tous,
    voila mon problème,

    mon client (adoré) crée des documents Word 2007.
    Dans ces documents, il crée des shape (rectangle à bord arrondi) dans lesquels il met des tableaux

    je n'arrive pas à accéder par VBA à ces tableaux,
    ces tableaux n'apparaissent pas dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Documents(monFichier).Tables
    Quelqu'un a t-il une idée de Comment faire ?

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir.

    Si tu sais trouver les shapes en question, tu peux arriver au tableau avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyShape.TextFrame.TextRange.Tables(1)
    Par exemple, pour scruter les shapes de premier niveau :
    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 toto()
    Dim oShp As Word.Shape, oTbl As Word.Table, iFlag As Boolean
     
    For Each oShp In ThisDocument.Shapes
        On Error Resume Next
            Set oTbl = oShp.TextFrame.TextRange.Tables(1)
            iFlag = (Err.Number = 0)
        On Error GoTo 0
            If iFlag Then
                'ici, on a un tableau dans shape
                MsgBox oTbl.Cell(1, 1)
            Else
                'ici on a shape sans Tab
                MsgBox "pas de tableau dans " & oShp.Name & "."
            End If
    Next oShp
     
     
    Set oTbl = Nothing
    Set oShp = Nothing
    End Sub
    EN espérant que cela t'aide,

    PGZ

  3. #3
    Rédacteur/Modérateur

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

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

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

    Peut-être un peu plus court.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub TestOli002()
    Dim Sh As Shape
     
    For Each Sh In ActiveDocument.Shapes
    Debug.Print Sh.TextFrame.TextRange.Tables.Count
    Next Sh
     
    End Sub

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 270
    Points : 83
    Points
    83
    Par défaut
    Un grand merci avec énormément de retard (désolé)
    merci pour les solutions proposées, elles me conviennent

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

Discussions similaires

  1. Afficher un tableau (fixe) dans une form
    Par Lnmex dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/07/2010, 09h50
  2. Récupérer les mails Outlook dans une table Access
    Par zerrokooll dans le forum VBA Access
    Réponses: 79
    Dernier message: 07/07/2009, 15h22
  3. Réponses: 2
    Dernier message: 25/05/2009, 10h38
  4. récupérer un tableau PHP dans une fonction javascript
    Par aztec dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/05/2007, 23h11
  5. Renommage des champs d'une table dans une Form
    Par Cupidon dans le forum Access
    Réponses: 2
    Dernier message: 25/01/2007, 14h11

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