La modération vous a écrit: Pour la bonne tenue de ce forum, veillez à respecter la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets).
Bonjour,
Nouveau sur ce forum, je vous contacte pour une erreur que je ne parviens pas à résoudre.
J'écris actuellement un module de génération de rapports automatique à partir d'un modèle et d'un classeur.
Je ne posterai pas l'ensemble qui contient des milliers de lignes de code ... juste un extrait pour montrer le souci.
Dans ce module, le texte du rapport vient d'un modèle dans lequel figure des fonctions pour récupérer les informations d'un classeur.
J'analyse donc le texte du modèle, repère les fonctions balisées d'une certaine façon. Tout cela fonctionne.
Ensuite, j'avais écris une procédure avec un select case pour appeler telle ou telle fonction.
J'ai ensuite vu sur le net que l'on pouvait appeler une fonction de manière indirecte avec executeDispatch.
Dans le code joint, j'ai donc une fonction main qui appelle une fonction appelFonction en lui transmettant :
- - le nom de la fonction à appeler (ici la fonction ligne)
- un contexte à transmettre à ligne
- un tableau de paramètre de string nommé lvTabParam, toujours pour ligne
ligne 46 du code joint, je lance un appel direct pour montrer que ça passe bien.
ligne 48, je tente un appel via executeDispatch ce qui génère une erreur :
- Erreur d'exécution BASIC
Variable d'objet non définie
Le debugger stoppe au niveau de la ligne 53, début de sub ligne
J'ai tenté plusieurs paramètres dans ma fonction ligne:
- Tableau de variant (sub ligne (prObj () as variant))
Objet (sub ligne (prObj as object))
Pas de paramètre (sub ligne ())
Je suis preneur de toute expertise sur ce sujet.
Un grand merci par avance