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 :

[Word] Suppression des lignes d'un tableau


Sujet :

VBA Word

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut [Word] Suppression des lignes d'un tableau
    Bonjour,

    je dispose d'un tableau créé dans un document word qui est rempli à partir d'excel via automation.

    dans certains cas (car il n'y a pas de données dans excel), une ou plusieurs lignes du tableau word sont vides. Je cherche donc à supprimer les lignes correspondantes dans le tableau.

    J'ai donc écrit une fonction qui me permet de tester les lignes d'un tableau et de me dire si l'une des cellules de la ligne est vide.

    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
     
    Sub SupprimerLignesTableau(NumTableau, NumLignes, DebutCol, FinCol)
     
    Set Tableau = ActiveDocument.Tables(NumTableau)
     
    'Récupération dans une variable du nombre de lignes
    NbLignes = Tableau.Rows.Count
     
     
     
    For I = NumLignes To NbLignes
        réponse = True
            For J = DebutCol To FinCol
                    If Tableau.Cell(I, J).Range.Text = Chr(7) Or Tableau.Cell(I, J).Range.Text = " " & Chr(7) Then
                        réponse = False
                    End If
     
            Next J
     
    If réponse = False Then
        MsgBox ("La ligne est vide")
    End If
     
    Next I
     
    End Sub
    Ces cellules vides qui correspondent soit juste à un espacement et une marque de fin de cellule soit juste à une marque de fin de cellule ne sont pas reconnues par la fonction.

    Comment faire pour que VBA reconnaisse le caractère de fin de cellule d'un fichier word ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    tu peux essayer ce type de syntaxe pour vérifier si une cellule d'un tableau Word est vide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If ActiveDocument.Tables(1).Columns(1). _
            Cells(1).Range.Text = Chr(13) & Chr(7) Then
        MsgBox "vide"
        Else
        MsgBox " pas vide"
    End If


    michel

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    bonjour, merci pour ta réponse, cela me permet en effet de vérifier que ma cellule est vide.

    petite précision également quand à mon code de départ. Le parcours des lignes de mon tableau sert à vérifier que je n'ai pas une cellule vide dans une des lignes. Si c'est le cas, dans ce cas la suite de la sub modifiée me permet de supprimer ladite ligne Rows(I).delete.

    Néanmoins pour que cela fonctionne, il est nécessaire de parcourir le tableau de la fin du tableau (dernière ligne) vers le début du tableau. Sinon en supprimant les lignes du tableau au fur et à mesure, la boucle ne fonctionne plus.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/12/2013, 10h17
  2. Code vba pour la suppression des lignes d'un tableau excel
    Par yosra_jemai dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/04/2013, 09h11
  3. hauteur des lignes dans un tableau word
    Par gorjette dans le forum VBA Word
    Réponses: 6
    Dernier message: 03/12/2010, 20h31
  4. [DisplayTag] Checkbox et suppression des lignes du tableau
    Par bard123 dans le forum Taglibs
    Réponses: 1
    Dernier message: 07/10/2009, 15h52
  5. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28

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