Passage d'un fichier word en argument d'une procédure

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.

Bonjour,

pour un appel de procédure avec paramètres :

soit

RecupOpe  ligneope, MSWord

soit

Call RecupOpe (ligneope, MSWord)

A+

Merci pour votre réponse. La solution était donc si simple? Je vais tester et vous ferai un retour. Je n'avais pas de message d'erreur lorsque j'avais omis de passer mon fichier Word en argument et pourtant sans utiliser l'une ou l'autre des syntaxes proposées.

Croisons les doigts. Dès que je trouve un moment pour allumer l'ordi je teste. Bonne fin de week-end.

Top, ça fonctionne. Et dire que l'aide contextuelle de vba m'indiquait une mauvaise syntaxe ! De plus, tant que je n'avais qu'un seul paramètre par ailleurs, ça fonctionnait !

Mais j'ai malgré tout un peu honte : depuis le temps que je fais des macros sur excel, je me rend compte que je ne savais même pas cela

Aller, je vais voir de ce pas si je peux aider quelqu'un, histoire de sauver l'honneur

Rechercher des sujets similaires à "passage fichier word argument procedure"