Salut à toi qui me lis!
Bon, le titre est assez explicite mais laisse moi te donner quelques détails.
J'ai un docx (un document template d'une bibliothèque SharePoint, mais peu importe), qui contient un tableau, et ce tableau a sur chaque ligne: colonne 1 = nom de la propriété, colonne 2 = quickpart de la propriété de ce document.
L'intérêt des quick part est que leur valeur est toujours mise à jour dynamiquement en fonction de quel document on a choisit d'ouvrir.
Pour schématiser, on a quelque chose comme ça:
Document 1
Nom Document 1 Modèle Oui Prospectus Non Document 2
Nom Document 2 Modèle Non Prospectus Oui
Il y a beaucoup de plus de lignes que ça, mais tu as saisi le principe.
Ce que je voudrais faire (ou plutôt ce qu'on me demande de faire, pour être exacte), c'est que toutes les lignes où le quickpart affiche "Non" soient masquées automatiquement.
Et donc on obtiendrait ceci:
Document 1
Nom Document 1 Modèle Oui Document 2
Nom Document 2 Prospectus Oui
J'ai trouvé comment masquer une ligne dans mon document en passant par une macro VBA: ActiveDocument.Tables(1).Rows(1).Range.Font.Hidden = True
Mais je n'ai pas trouvé comment faire pour:
- Que ça s’exécute sur la ligne uniquement si la 2ème cellule de cette ligne contient "Non"
- Que ça marche sur plusieurs lignes de mon tableau à la fois (la quasi totalité en fait)
- Que l'ensemble s’exécute automatiquement à la lecture du document, sans avoir besoin de lancer manuellement la macro et sans avoir besoin d'ouvrir le doc en modification.
Voilà, je tiens à préciser que mon domaine de prédilection n'est pas tellement Word, encore moins VBA, ais que j'ai des bases de dev, donc il ne faut pas hésiter à m'expliquer du code!
J'imagine que c'est quelque chose de simple pour des habitués des macros word qui sont devenus experts dans le domaine grâce à leur longue expérience de la chose, mais pour moi, c'est la galère absolue et je ne trouve pas que ce soit très bien documenté sur le web.
Help! et Merci beaucoup par avance du coup de main, quel qu'il soit!
Partager