Syntaxe range avec ligne et colonnes variables

Bonjour,

Je cherche à implanter la valeur de plusieurs cellules d'un tableau dans un objet Contentcontrol d'un fichier Word modèle. De manière simplifiée, l'idée est de remplir automatiquement l'adresse d'un destinataire à partir des données figurant dans un tableau.

Pour cela, j'ai créé le tableau suivant ("Table1"), dont les valeurs sont ajoutées manuellement :

RSCIVNOM
XMonsieurDUPONT

L'utilisateur remplit un Userform dont la valeur de la ComboBox1 (correspondant à la colonne RS) est utilisée pour trouver la ligne correspondant dans le tableau (ici X).

Je souhaite que les valeurs des cellules des colonnes "CIV" et "NOM" de la ligne soient implantées dans le Contentcontrol ayant pour nom "ADR", en veillant à ce que chaque valeur soit séparée de la suivante par un interligne.

Au départ (avant de créer le tableau), j'avais utilisé la macro suivante qui fonctionnait très bien mais qui se référait aux colonnes de manière fixe (C correspondant à la colonne "CIV" et D à celle "NOM") :

Dim c As Range, d As String

(...) 

d = Me.Find(ComboBox1.Value, , xlValues, xlWhole).Row 'Sors la ligne correspondant à la valeur de la ComboBox1 renseignée par l'utilisateur

(...)

If occ.Title = "ADR" Then 'ADR est le nom du CustomContent sous Word qui doit être rempli

Set c = Me.Range("C" & d & ", D" & d)

For Each Cell In c

ADR = ADR & Cell.Value & vbNewLine

Next Cell

occ.Range.Text = c

Néanmoins, en prévision de modifications futures, je souhaiterais faire référence aux colonnes non par leur index alphabétique mais par leur nom dans le Table1, via le code :

ListObjects("Table1").ListColumns(" ").DataBodyRange

L'idée serait de définir la variable c comme l'intersection entre la ligne d et les colonnes "CIV" et "NOM".

C'est là où je bloque car je ne sais pas du tout comment rédiger cela. :( Je suppose que c'est une histoire de syntaxe mais je n'ai pas trouvé de solution faute de maîtriser le langage.

Mon intuition est de définir une variable e de type range avec les colonnes en question, mais ensuite je suis incapable de trouver comment on rédige le code pour définir la variable c.

En espérant avoir été clair, je vous remercie mille fois pour trouver une solution à mon problème !

Bonsoir,

ci-joint un exemple :

34word-excel5.xlsm (22.30 Ko)
8word-excel5.docx (18.71 Ko)

Merci beaucoup pour ce fichier, cela simplifie grandement les choses !

Rechercher des sujets similaires à "syntaxe range ligne colonnes variables"