XL 2013 Masquer/Afficher une ligne de tableau Word en fonction de la valeur du contrôleur de contenu

chaelie2015

XLDnaute Accro
Bonjour
J'utilise un fichier Word en tant que modèle de document nommé "Charlie doc type Tableau". À l'intérieur de ce document, il y a un tableau qui contient plusieurs contrôles de contenu de texte enrichi que j'ai nommés comme suit : "Champs_Nom", "Champs_Prénom" et "Champs_Date".

De plus, j'ai un fichier Excel appelé 'Charlie Excel vers Word Tableau' "Feuille1" qui comprend un tableau avec deux colonnes (A et B) et quatre lignes. La première ligne contient les en-têtes du tableau.

Mon objectif est de faire en sorte que les valeurs entrées dans les cellules du tableau A1:B4 de ce fichier Excel soient automatiquement transférées dans les contrôles de contenu correspondants du document Word. Si un contrôle de contenu dans le tableau Word n'est pas renseigné, alors la ligne correspondante dans le tableau Word doit être masquée.
Exemple : Si, après l'exécution du code (que j'apprécie Job d'avoir fourni), la cellule B4 de la feuille 1 du fichier Excel est vide, alors la ligne contenant le contrôle de contenu correspondant dans le tableau Word sera masquée.
Est ce que c'est faisable ?

A+
 

Pièces jointes

  • Charlie doc type Tableau.docx
    28.8 KB · Affichages: 2
  • Charlie Excel vers Word Tableau.xlsm
    19.8 KB · Affichages: 3
Dernière édition:
Solution
Bonjour chaelie2015, le forum,

Bah c'est juste l'histoire d'imbriquer des boucles :
VB:
For Each tbl In Wdoc.Tables
    ncol = tbl.Columns.Count
    For i = tbl.Rows.Count To 1 Step -1
        For j = 1 To ncol
            If tbl.Cell(i, j).Range.Text Like "Cliquez ici*" Then tbl.Cell(i, j).Delete 2: Exit For 'wdDeleteCellsEntireRow
Next j, i, tbl
A+

job75

XLDnaute Barbatruc
et comment pouvons-nous traiter cette commande :
VB:
Wdoc.SaveAs ThisWorkbook.Path & "\" & Range("B2") & " " & Format(Range("B4"), "dd mm yyyy") & ".docx
Traiter ? Vous devez l'adapter aux données que vous voulez utiliser.
De plus, je souhaite vous informer que j'ai peut-être mal défini le terme "vide" par rapport au contrôle de contenu dans les tableaux Word. Je fais référence aux cellules qui ne contiennent pas de texte saisi dans Excel .
mais les contrôles de contenu dans Word par défaut ils ne sont pas vide (cliquez ici ......etc;
C'est à vous de décider ce que vous voulez faire, je vous ai donné tous les éléments pour y parvenir.

Je vous ai dit qu'une cellule "vide" d'un tableau Word contient 2 caractères de codes 13 et 7.

J'ai l'impression que vous ne lisez pas bien mes messages.
 

chaelie2015

XLDnaute Accro
Bonjour Job75, le forum
Ma compréhension en présence d'un spécialiste est plutôt restreinte ;) , c'est pourquoi je suis sur ce forum.
Ton code initial, comme indiqué dans les messages précédents, crée une copie du document d'origine en le renommant d'après les valeurs des cellules B2 et B4👍. Cependant, il ne gère pas efficacement la suppression des lignes vides dans les tableaux.🥴
En ce moment, je suis confronté à la suppression des lignes des tableaux dans le document Word qui n'ont pas été renseignées à la suite de l'exécution de la macro à partir du fichier Excel.🤔
Encore une fois, je vous remercie d'avance.
 

job75

XLDnaute Barbatruc
Pour le SaveAs vous n'avez pas compris que B2 est une date donc avec le caractère interdit "/".

Utilisez cette instruction :
VB:
Wdoc.SaveAs ThisWorkbook.Path & "\" & Format(Range("B2"), "dd mm yyyy") & " " & Range("B4") & ".docx"
 

Pièces jointes

  • CHARLIE PV CMU Bel 2023 Model.docx
    38.3 KB · Affichages: 2
  • CHARLIE Feuille de saisie PV CMU Bel.xlsm
    47 KB · Affichages: 2

chaelie2015

XLDnaute Accro
Re
Je vous remercie pour votre réponse, cependant, je ne suis pas sûr si vous avez joint les bons fichiers à votre message, car après l'exécution, la copie ne contient aucun tableau, à l'exception des en-têtes.???

Les résultats obtenus ne correspondent pas à ce que j'espérais :
1) Remplir le document Word à partir d'Excel, (partiellement)
2) Supprimer les lignes non renseignées dans les tableaux du document Word via le fichier Excel, (non)
3) Créer une copie du document avec un nouveau nom. (oui)
A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 534
Messages
2 089 383
Membres
104 152
dernier inscrit
sabalex