Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/06/2007, 13h39   #1
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Par défaut Probléme avec la suppression de ligne dans un tableau

Bonjour,

Avec ce que j'ai pu trouver sur le forum j'ai fait un petit code qui devrait me permettre de supprimer les lignes où les cellules sont vides.
Voilà ce que ça donne :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Set tableau = ActiveDocument.Bookmarks("tableau1")
 
 
Dim Numlignes As Variant
Dim J As Integer
Dim I As Integer
Dim cellvide As Boolean
 
I = 16
 
Do Until I = 2
    cellvide = False
        For J = 2 To 5
            If ActiveDocument.Tables(1).Columns(J). _
                Cells(I).Range.Text = Chr(13) & Chr(7) Then
                cellvide = True
            End If
        Next J
        If cellvide = True Then
         tableau.Rows(I).Delete
         End If
I = I - 1
 Loop
Le problème est qu'à l'exécution j'ai une erreur "5992" m'indiquant qu'il ne peut pas accéder aux colonnes car les largeurs de colonnes ne sont pas les mêmes.

Merci d'avance.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 13h49   #2
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Si au lieu d'utiliser un bookmark, j'utilise le numéro du tableau ça marche. Peut-être que j'assigne mal le signet au tableau, comment fait-on ça dans les règles de l'art ?
Ou peut-on nommer un tableau ?
Merci d'avance pour vos réponses.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 14h04   #3
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Essaie, de sélectionner tout le tableau, lorsque tu te trouve dans le tableau, tu as un petit symbole carré avec un flèche quatre directions.
Si tu cliques sur ce symbole et que tu assigne le signet, ça devrait le faire.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 14h17   #4
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Malheureusement ça ne marche pas, il me dit : erreur 438, ce type d'objet ne permet pas d'effectuer cette propriété ou méthode. Et il me surligne l'endroit où il y a le mot collonnes.
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 14h29   #5
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Est-il possible de donner un nom à un tableau ?
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 11h05   #6
Membre régulier
 
Inscription : avril 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 335
Points : 73
Points : 73
Comme ça, ça marche :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
Set r = Doc.Bookmarks("tableau1").Range
Set t = r.Tables(0)
 
Do Until I = 1
    cellvide = False
        For J = 2 To 5
            If t.Columns(J). _
                Cells(I).Range.Text = Chr(13) & Chr(7) Then
                cellvide = True
            End If
        Next J
        If cellvide = True Then
         t.Rows(I).delete
         End If
I = I - 1
 Loop
Tintou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2009, 15h06   #7
Invité de passage
 
Inscription : juillet 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 4
Points : 3
Points : 3
Par défaut Solution alternative

Essayez de passer en mode de visualisation Normale. J'ai pu éviter ce message par ce chemin.
kStar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h18.


 
 
 
 
Partenaires

Hébergement Web