[VBA]Suppression de tous les tableaux d'un document word

ag2011 Messages postés 2 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 27 juillet 2011 - 27 juil. 2011 à 12:16
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 27 juil. 2011 à 21:56
Bonjour je suis actuellement bloqué sur le problème suivant :

Je cherche a faire une macro qui va supprimer tous les tableaux de tous les documents word d'un répertoire .


J'ai trouver comment parcourir les fichiers d'un répertoire ,je bloque surtout sur la partie consistant a supprimer tous les tableaux d'un document du répertoire.

Si quelqu'un pouvait me donner quelque pistes.


. La partie qui supprime les tableaux de fonctionne pas et me sort une erreur de dépassement de capacité.

Pourtant si j'isole ce code en l'adaptant pour un document word ouvert cela marche très bien

del = ActiveDocument.Tables.Count
    For i = del To 1 Step -1
        ActiveDocument.Tables(i).Select
        ActiveDocument.Tables(i).Delete
    Next


J'ai fais le code suivant pour l'instant

 
Sub importLignesDocumentWord()
 
Dim Fichier As String, Direction As String
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Dim i As Byte
Dim j As Integer
 
 
Dim num As Integer
Dim x As Integer
Dim y As Integer
 
 
x = 1
y = 1
j = 1
 
 
 
'---------------------------------------------------------------------------------------
 
Application.ScreenUpdating = False
 
Direction = ThisWorkbook.Path
Fichier = Dir(Direction & "\*.doc")
Do While Fichier <> "" 'boucle sur tous les fichiers .doc du repertoire
 
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = False
Set wordDoc = wordApp.Documents.Open(Direction & "" & Fichier) 'ouverture documents word
j = j + 1
 
 
del = ActiveDocument.Tables.Count
    For i = del To 1 Step -1
        wordApp.Tables(i).Select
        wordApp.Tables(i).Delete
    Next
 
 
 
 
wordDoc.Close False 'fermeture documents word
wordApp.Quit
Set wordDoc = Nothing
Set wordApp = Nothing
Fichier = Dir
 
Loop
End Sub


Merci d'avance

2 réponses

ag2011 Messages postés 2 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 27 juillet 2011
27 juil. 2011 à 16:00
Petite faute de frappe ( wordapp a la place de wordDoc) dans le code suivant
del = ActiveDocument.Tables.Count
    For i = del To 1 Step -1
        wordApp.Tables(i).Select
        wordApp.Tables(i).Delete
    Next


en realité mon code est

del = ActiveDocument.Tables.Count
    For i = del To 1 Step -1
        wordDoc.Tables(i).Select
        wordDoc.Tables(i).Delete
    Next
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
27 juil. 2011 à 21:56
Bonjour,

Quelle est la valeur des variable de tes lignes ? sur quelle lignes ça se passe ? Et en Long à la place de Integer, ça passe mieux ?

0
Rejoignez-nous