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 :

Éliminer ligne entière si cellule vide


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Éliminer ligne entière si cellule vide
    Bonjour,
    J'ai un long tableau avec des mot et des définitions.
    Il se vérifie que l'une ou l'autre cellule soit vide.
    Par VBA je voudrais éliminer la ligne entière si l'une des 2 cellules (colonne 1 ou colonne 2) est vide.
    J'ai trouvé ce code mais en réalité il élimine la ligne uniquement si les 2 cellules sont vides en même temps.
    Est-ce que quelqu'un pourrais m'aider?
    Bonne journée
    Luca

    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
    Sub DeleteEmptyTablerowsandcolumns()
    'Application.ScreenUpdating = False
    Dim Tbl As Table, cel As Cell, i As Long, n As Long, fEmpty As Boolean
    With ActiveDocument
      For Each Tbl In .Tables
        n = Tbl.Columns.Count
        For i = n To 1 Step -1
        fEmpty = True
         For Each cel In Tbl.Columns(1).Cells
          If Len(cel.Range.Text) > 2 Then
           fEmpty = False
           Exit For
          End If
       Next cel
       If fEmpty = True Then Tbl.Columns(1).Delete
      Next i
     Next Tbl
    End With
    With ActiveDocument
        For Each Tbl In .Tables
          n = Tbl.Rows.Count
          For i = n To 1 Step -1
            fEmpty = True
            For Each cel In Tbl.Rows(i).Cells
               If Len(cel.Range.Text) > 2 Then
                 fEmpty = False
                 Exit For
               End If
             Next cel
           If fEmpty = True Then Tbl.Rows(i).Delete
         Next i
       Next Tbl
    End With
     
    Set cel = Nothing: Set Tbl = Nothing
    Application.ScreenUpdating = True
     
    End Sub

  2. #2
    Membre expérimenté Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Points : 1 364
    Points
    1 364
    Par défaut
    Bonjour,

    Il te faudrait quelque chose dans ce style là

    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
    Sub DeleteEmptyTablerowsandcolumns()
    Application.ScreenUpdating = False
    Dim Tbl As Table, i As Long, n As Long
    With ActiveDocument
      For Each Tbl In .Tables
        n = Tbl.Rows.Count
        For i = n To 1 Step -1
            If Len(Tbl.Cell(i, 1).Range.Text) = 0 Or Len(Tbl.Cell(i, 2).Range.Text) = 0 Then Tbl.Rows(n).Delete
      Next i
     Next Tbl
    End With
    Set cel = Nothing: Set Tbl = Nothing
    Application.ScreenUpdating = True
     
    End Sub
    Le sabre est une arme. Le kendo est un art de tuer. Quelles que soient les belles paroles pour l'expliquer, telle est sa vérité.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci parfait,
    Exactement ce qu'il me fallait.
    Bonne journée
    Luca

Discussions similaires

  1. [BO Produits] Masquer une ligne d'une cellule vide
    Par boubafia80 dans le forum SAP Business Objects
    Réponses: 2
    Dernier message: 21/11/2021, 13h21
  2. [XL-365] Macro permettant de supprimer les lignes contenant des cellules vides
    Par js777 dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 13/03/2020, 12h19
  3. [XL-2010] Supprimer ligne entière si cellule en doublon
    Par GuillaumeNcy dans le forum Excel
    Réponses: 3
    Dernier message: 13/01/2015, 07h52
  4. [XL-2010] Hauteur de ligne =0 si cellule vide
    Par PhaleneCAD dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/03/2011, 09h18
  5. [XL-2000] Suppression ligne entière si cellule vide
    Par RAID14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/07/2010, 14h00

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