OVH Cloud OVH Cloud

VBA problème suppression dernière colonne d'un tableau d'un doc word

12 réponses
Avatar
ierrot33
Bonjour,

Je suis embêté par un bug à priori tout bête mais sur lequel je coince lamentablement. Je vais essayer d'être clair.
J'utilise les fonctions de VBA pour éditer des tableaux dans un doc word à partir d'un fichier excel base de données.
Ma macro ajoute une ligne à chacun de mes tableaux à chaque fois que j'ajoute un doc, à la fin, j'ai donc une ligne en trop vide dans chacun de mes tableaux.
J'utilise ensuite le code:
oTbl2.Rows(oTbl2.Rows.Count).Delete
oTbl3.Rows(oTbl3.Rows.Count).Delete
oTbl4.Rows(oTbl4.Rows.Count).Delete
oTbl.Rows(oTbl.Rows.Count).Delete
Cela marche pour les tableaux OTbl2 et 4 mais pas pour les 1 et 3
Pour info j'ai utilisé
Set oTbl = wordDoc.Tables(7)
Set oTbl2 = wordDoc.Tables(8)
Set oTbl3 = wordDoc.Tables(5)
Set oTbl4 = wordDoc.Tables(9)
et
Set wordDoc = WordApp.Documents.Open(fichier, ReadOnly:=True)
.
Quelqu'un a une idée. Peut-être dans les propiétés du doc word?

2 réponses

1 2
Avatar
pierrot33
Le mercredi 21 Août 2013 à 17:14 par ierrot33 :
Bonjour,

Je suis embêté par un bug à priori tout bête mais sur
lequel je coince lamentablement. Je vais essayer d'être clair.
J'utilise les fonctions de VBA pour éditer des tableaux dans un doc word
à partir d'un fichier excel base de données.
Ma macro ajoute une ligne à chacun de mes tableaux à chaque fois
que j'ajoute un doc, à la fin, j'ai donc une ligne en trop vide dans
chacun de mes tableaux.
J'utilise ensuite le code:
oTbl2.Rows(oTbl2.Rows.Count).Delete
oTbl3.Rows(oTbl3.Rows.Count).Delete
oTbl4.Rows(oTbl4.Rows.Count).Delete
oTbl.Rows(oTbl.Rows.Count).Delete
Cela marche pour les tableaux OTbl2 et 4 mais pas pour les 1 et 3
Pour info j'ai utilisé
Set oTbl = wordDoc.Tables(7)
Set oTbl2 = wordDoc.Tables(8)
Set oTbl3 = wordDoc.Tables(5)
Set oTbl4 = wordDoc.Tables(9)
et
Set wordDoc = WordApp.Documents.Open(fichier, ReadOnly:=True)
.
Quelqu'un a une idée. Peut-être dans les propiétés
du doc word?


Merci MichD pour tes conseils, je me méfierai des cellules fusionnées.
Dans mon cas c'est dans le tableau Word que les cellules étaient fusionnées et non dans la feuille de calcul Excel. Et le fait d'avoir des fusions dans les lignes d'en-tête pour des questions de présentation empêchait la suppression de toutes les lignes du tableau et pas seulement celles qui étaient fusionnés.
En fait ta macro ou la mienne fonctionnent parfaitement sur un tableau Word "sain"
J'ai donc modifié l'en-ête de mon tableau Word pour éviter ce problème.
Avatar
MichD
Merci du retour.


MichD
---------------------------------------------------------------
1 2