Bonjour Bat_97140,
Quelques explications issues de l'expérience (tu peux sauter le paragraphe, si tu désires juste avoir la solution ).
Dans les développements faits sur ton projet, pour me référer aux objets WORD, j'ai utilisé la méthode de "Liaison anticipée (Early binding) " contrairement à ton propre code dans lequel tu utilises la méthode de "Liaison tardive (Late binding)".
Je recommande l'utilisation de la "Liaison anticipée" au moins lors de la phase de mise au point des projets VBA : les avantages étant :
- de pouvoir bénéficier des fonctions "Intellisense" de l'éditeur VBE lors de l'écriture du code.
- d'accéder aux constantes de l'objet référencé
- d'obtenir les erreurs sur les appels aux méthodes/évènements/propriétés de l'objet lors de la compilation.
On gagne ainsi beaucoup de temps dans la mise au point, surtout lorsque l'on programme avec un objet que nous maîtrisons mal.
L'inconvénient majeur de cette méthode étant que l'on se réfère ainsi à une version spécifique de l'objet : celle installée sur le poste avec lequel on développe. MS garantit (le plus souvent) une compatibilité ascendante de ses objets. Ainsi, un développement réalisé avec, par exemple la version WORD 2013 (objet version 15.0 de l'objet) devrait sans problème s'exécuter sur un poste equipé avec une version ultérieure de MS Office (2015, 2016, 2018...).
Par contre, MS ne garantit pas la compatibilité avec les versions antérieures de ses objets.
Pour éviter ce problème, et lorsque le projet est amené à être transférer sur d'autres postes dont on ne connait pas, à priori, la version MS Office, une fois le projet au point, on modifie le code VBA pour passer le référencement de l'objet à la méthode "Liaison tardive".
C'est le problème auquel tu fais face puisque j'ai développé avec WORD 2013 et que ton poste perso est installé en version 2010 (objet version 14).
Pour le régler :
Dans la boîte de dialogue "Référencements" :
- tu décoches la référence "MANQUANT"
- Dans la liste déroulante, tu recherches "Microsoft WORD 14.0 Object Library" que tu coches.
Tu recompilesTiens moi informé si besoin.