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 :

Automiser la création de tableaux


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Automiser la création de tableaux
    Bonjour,
    Je n'y connais rien en VBA word, il n'y a donc pas de vba, et j'ai besoin d'aide.
    Voila mon problème :
    Je dois mettre en page un document issu d'un fichier txt de 150 pages. Pour la majorité du document la mise en page s'effectue avec la personnalisation des styles en recherchant une chaine entre crochet en début de ligne ([blabla]) et en la remplaçant par un style.
    Mais cela ce complique pour sélectionner puis transformer du texte en tableau.
    Au total, ce document comporte 600 tableaux réparti en 2 types de tableaux. Chaque début de tableau commence par [tab1] ou [tab2], les types de tableaux possèdent :
    • : 2 lignes dont 1 ligne d'entête.
    • : la ligne d'entête commence toujours par [tab1] ou [tab2]
    • : 7 colonnes pour [tab1] et 8 colonnes pour [tab2]
    • : ajuster au contenu;
    • : séparateur entre chaque colonne : tabulation;
    • : séparateur de ligne : tabulation horizontal (car(9))
    • : arial 8 pour le contenu du tableau
    • : chaque [tab1] ou [tab2]


    Ci joint un exemple.
    Je vous remercie
    Bien à vous
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Félix-le-chat Voir le message
    Bonjour,

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    Sub TransformerEnTableau()
     
    Dim I As Integer
    Dim Continuer As Boolean
     
        With ActiveDocument
     
             For I = .Paragraphs.Count To 1 Step -1
                 With .Paragraphs(I)
                      .Range.Select
                      Continuer = True
                      If Selection.Range.Tables.Count > 0 Then Continuer = False
     
                      If Continuer = True Then
                         If InStr(1, Selection.Range, "[tab1]", vbTextCompare) > 0 Then
                            Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=7, NumRows:=2, AutoFitBehavior:=wdAutoFitWindow
                         End If
                         If InStr(1, Selection.Range, "[tab2]", vbTextCompare) > 0 Then
                            Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=8, NumRows:=2, AutoFitBehavior:=wdAutoFitWindow
                         End If
                      End If
                 End With
             Next I
     
             For I = 1 To .Tables.Count
                 With .Tables(I)
                      .Range.Select
     
                      If InStr(1, .Range.Cells(1).Range.Text, "[tab1]", vbTextCompare) > 0 Then
                         .Range.Font.Size = 8
                         .Range.Font.Name = "Arial"
                         .AutoFitBehavior (wdAutoFitContent)
                         .Style = "Tableau Grille*4 - Accentuation*3" ' A adapter
                         .ApplyStyleHeadingRows = True
                         .ApplyStyleLastRow = False
                         .ApplyStyleFirstColumn = True
                         .ApplyStyleLastColumn = False
                      End If
     
                      If InStr(1, .Range.Cells(1).Range.Text, "[tab2]", vbTextCompare) > 0 Then
                         .Range.Font.Size = 8
                         .Range.Font.Name = "Arial"
                         .AutoFitBehavior (wdAutoFitContent)
                         .Style = "Tableau Grille*4 - Accentuation*6" ' A adapter
                         .ApplyStyleHeadingRows = True
                         .ApplyStyleLastRow = False
                         .ApplyStyleFirstColumn = True
                         .ApplyStyleLastColumn = False
                      End If
     
                 End With
             Next I
     
       End With
     
     
    End Sub

Discussions similaires

  1. [VBA-E] Création de tableaux
    Par fred bx dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2006, 07h58
  2. Création de tableaux et liens
    Par Lestat91 dans le forum Access
    Réponses: 1
    Dernier message: 09/05/2006, 11h29
  3. [Tableaux] création de tableaux
    Par ibtisss dans le forum Langage
    Réponses: 13
    Dernier message: 06/04/2006, 15h13
  4. création de tableaux avec Array() et élément 'fantome'
    Par Talieth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/11/2005, 09h49

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