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 ?
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
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;
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.
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+