Bonjour à toutes et tous,
Après de longues heures de recherches, et sans trouver réponse à mon problème, je me résous à faire appel à votre aide.
Le contexte : j'utilise une macro depuis quelques années, dont la mission est de rédiger un document word à partir de données contenues dans un fichier excel. Cette macro fonctionne bien, mais j'ai voulu cet été ajouter quelques compléments dans mon fichier word. Or j'ai eu un message d'erreur comme quoi ma macro était trop longue.
L'ajout effectué étant particulièrement répétitif, j'ai décidé de créer une sous procédure sub, pour alléger ma macro initiale.
J'ai passé comme seul argument dans ma procédure le numéro de la ligne de la feuille excel en cours. Or dans cette procédure, je fais appel à mon fichier word pour y écrire dedans (mon fichier s'appelle MSWord, défini en tant qu'Object).
Naturellement, j'ai rencontré un message d'erreur sur ma première ligne MSWord.Selection.TypeText, n'ayant pas passé en argument mon fichier Word.
Qu'à cela ne tienne : j'ai ajouté à ma procédure mon fameux fichier :
Sub RecupOpe(ByRef ligneope As Single, MSWord as Object)
Jusque là, pas de problème.
Mais lorsque dans ma procédure mère, j'ajoute mon fichier Word, de la façon suivante :
RecupOpe (ligneope, MSWord)
j'obtiens un message "Erreur de compilation : Attendu : ="
Et je n'arrive pas à comprendre d'où vient le problème. Merci de votre aide.