Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer : 
Analyser les tableaux du document 
Avec cette nouvelle 
astuce , nous allons découvrir que le 
VBA Word  offre des 
objets  et 
propriétés  permettant de 
parcourir les tableaux  d'un document, mais aussi de les manipuler.
Document source 
Pour la découverte de cette nouvelle 
astuce , nous proposons de récupérer un 
document Word  gérant les 
macros  et offrant 
quelques tableaux  aux structures différentes.
Nous découvrons un document sobre. Il est constitué de trois tableaux vierges. Pour chacun, les nombres de lignes et de colonnes diffèrent.
Deux paragraphes de textes sont intercalés, simplement pour nourrir la présentation.
Procédure et variables 
Pour entrer dans le vif du sujet directement, nous proposons de créer la 
procédure de code  destinée à 
parcourir ces tableaux . Et pour cela, des 
variables  sont nécessaires, notamment pour mémoriser les 
nombres de tableaux , ainsi que de 
lignes  et de 
colonnes  pour chacun.
Réaliser le raccourci clavier ALT + F11  pour basculer dans l'éditeur VBA Word , 
Dans l'explorateur de projet  sur la gauche, double cliquer sur le dossier Modules , 
Puis, double cliquer sur le module nommé Module1 , 
Ainsi, nous affichons sa 
feuille de code  au centre de l'écran. Elle est vierge pour l'instant.
Dans cette feuille de code, créer la procédure compteLignes  comme suit : Sub compteLignes() 
Il s'agit d'un nom simple mais explicite.
... 
Toutes ces variables sont déclarées comme des 
entiers courts  (Byte). La 
variable combien  doit servir à mémoriser le 
nombre de tableaux  contenus dans le document. C'est grâce à elle que nous pourrons initier une 
boucle  pour les parcourir tous. Et c'est la 
variable i  qui servira de compteur incrémenté dans cette boucle. A l'intérieur de cette 
boucle , donc pour 
chaque tableau , nous allons prélever les 
nombres de lignes et de colonnes , que nous allons stocker temporairement et respectivement dans les 
variables nbLignes et nbColonnes . Grâce à elles, nous allons pouvoir enclencher 
deux boucles imbriquées  pour parcourir chaque ligne de chaque colonne. Et cette fois, ce sont les 
variables C et L  qui doivent servir de compteurs incrémentés.
Nombre de tableaux dans le document 
Tables  est un 
objet enfant  de l'
objet parent ActiveDocument . Il renvoie la 
collection des tableaux  contenus dans le 
document en cours . Cet objet offre naturellement des 
propriétés  et 
méthodes . L'une de ses 
propriétés  renseigne sur le 
nombre de tableaux .
Après les variables, ajouter les lignes VBA  suivantes : ... 
C'est donc la 
propriété Count  de l'
objet Tables  qui renvoie la 
quantité de tableaux  enfermés dans le 
document actif . Ensuite, pour tester sa cohérence, nous affichons sa valeur dans une boîte de dialogue grâce à la 
fonction MsgBox .
Enregistrer les modifications (CTRL + S), 
Puis, exécuter le code VBA Word avec la touche F5 du clavier , 
Une boîte de dialogue apparaît aussitôt en effet. Et comme vous pouvez le voir, elle confirme que le document en cours propose 
trois tableaux .
Cette information est bien sûr dynamique. Elle s'ajustera automatiquement si vous ajoutez ou supprimez des tableaux.
Cliquer sur le bouton Ok pour revenir dans l'éditeur VBA , 
Puis, passer la ligne du MsgBox en commentaire en la préfixant d'une apostrophe ('), Parcourir les tableaux du document 
Maintenant, il est question de 
passer en revue  chacun de ces tableaux. Pour cela, une simple 
boucle for , correctement bornée, est nécessaire. Il suffit de partir du premier en initialisant notre 
variable i  que nous devons faire rejoindre le dernier grâce à notre 
variable combien .
A la suite du code, créer la boucle For Next , comme suit : ... 
A chaque passage, la 
variable i  va subir un 
incrément d'une unité  pour que le 
code VBA  puisse porter son attention sur le 
prochain tableau , jusqu'à avoir atteint le dernier.
Nombres de lignes et de colonnes 
Désormais, à l'intérieur de cette 
boucle , pour que nous puissions 
parcourir les lignes et les colonnes  de chaque tableau, nous devons connaître leurs nombres respectifs. La 
collection Tables  permet aussi de pointer sur un 
tableau précis . Pour cela, il suffit de lui passer le numéro ou la 
position du tableau  dans l'énumération. Et cette position est connue à 
chaque passage dans la boucle . Elle est renseignée par la 
variable i .
Dans la boucle , ajouter les instructions VBA  suivantes :... 
Nous l'avons dit, l'
objet Tables  offre un certain nombre de 
propriétés  et 
méthodes . Les 
propriétés Rows  et 
Columns  sont elles aussi des 
collections . Elles représentent respectivement les 
lignes et les colonnes du tableau  en cours d'analyse (Tables(i)). De fait, elles offrent elles aussi des 
propriétés . Et c'est donc la 
propriété Count  qui renseigne sur ces quantités de rangées. Ensuite et à titre de vérification, nous affichons ces informations dans une boîte de dialogue, de nouveau avec la 
fonction VBA MsgBox .
Enregistrer les modifications (CTRL + S) et exécuter le code (F5), 
Comme vous pouvez l'apprécier, grâce à notre 
boucle , tous les tableaux du document sont passés en revue. Il suffit de cliquer sur le bouton Ok des boîtes de dialogue qui se succèdent. Et pour chacun, les nombres de lignes et de colonnes sont parfaitement retournés.
Cliquer sur le bouton Ok de la dernière boîte de dialogue pour revenir dans l'éditeur VBA , 
Puis, préfixer la ligne du MsgBox d'une apostrophe pour la passer en commentaire, 
Sa vocation n'était que de réaliser une vérification.
Parcourir les lignes et les colonnes 
Maintenant, pour démontrer qu'il est possible de maîtriser les 
tableaux d'un document Word  dans les moindres détails, nous devons franchir un palier avec une 
double boucle , elle-même incrustée dans la première, celle des tableaux. Il est question de 
parcourir chaque ligne de chaque colonne  et ce, pour 
chaque tableau . Et pour démontrer le bon fonctionnement de la technique, nous proposons d'écrire dans 
chaque cellule de chaque tableau , avec des informations contextuelles.
Dans la boucle , à la suite du code VBA, créer la double boucle  suivante :... 
Puisque nous sommes embarqués dans la 
boucle des tableaux , cette première 
nouvelle boucle  (For C = 1 To nbColonnes) est destinée à 
parcourir chaque colonne de chaque tableau . Celle qui lui est imbriquée (For L = 1 To nbLignes) permet alors de 
parcourir chaque ligne  de 
chaque colonne  passée en revue pour 
chaque tableau . Dès lors, nous pointons sur chaque cellule ainsi parcourue grâce à la propriété Cell de l'
objet Tables . Comme avec l'
objets Cells  en 
VBA Excel , nous lui passons l'indice de ligne en cours d'analyse (L) ainsi que l'indice de colonne (C). Puis, nous descendons hiérarchiquement jusqu'à sa 
propriété Text  de manière à y incruster ces informations incrémentées à chaque passage. Enfin, nous exploitons la 
méthode ScreenRefresh  de l'
objet Application  pour rafraîchir l'écran à chaque traitement réalisé par ces boucles. L'objectif est de visualiser l'inscription progressive des données dans 
chaque cellule  de 
chaque tableau .
Enregistrer les modifications (CTRL + S) et basculer sur le document Word (ALT + Tab), 
En haut de la fenêtre Word , cliquer sur l'onglet Développeur  pour activer son ruban, 
Tout à fait à gauche du ruban, cliquer alors que le bouton Macros , 
En bas de la boîte de dialogue qui suit, choisir le document en cours avec la liste déroulante, 
Dans la zone centrale, cliquer ensuite sur la macro compteLignes  pour la sélectionner, 
Puis, cliquer sur le bouton Exécuter  pour visualiser le traitement, 
Comme vous pouvez l'apprécier visuellement, les 
tableaux  sont effectivement 
passés en revue tour à tour . Et 
chaque cellule  de 
chaque colonne  est effectivement remplie des informations numériques contextuelles.
Le 
code VBA Word  complet que nous avons construit pour 
parcourir chaque tableau du document  et inscrire des informations dans 
chaque cellule , est le suivant :
Sub compteLignes()