Recalcul du fichier de macro complémentaire
Aminec4
-
Gord21 Messages postés 928 Statut Membre -
Gord21 Messages postés 928 Statut Membre -
Bonjour,
Voici mon petit souci :
Je veux utiliser une bibliothèque à travers une macro complémentaire, le problème est que dans le corps VBA de ma macro complémentaire, j'ai besoin d'un élément que saisie l'utilisateur comme argument de de cette fonction pour pouvoir faire le calcul sur ma feuille (qui se trouve dans la macro complémentaire) et retourner le résultat.
petit exemple pour illustrer ceci.
Supposons que ma macro complémentaire est comme suit:
<code>Public Function Fact_escompte(Taux_i)
Workbooks("Calcul.xla").Worksheets("Feuil").Cells(6, 4) = Taux_i
Application.Calculate
Fact_escompte = Workbooks("Calcul.xla").Worksheets("Feuil").Cells(10, 9)
<code>End Function
Vous aurez bien évidemment compris que la ou les formules de calculs se trouvent sur la feuille de calcul du ficher de ma macro complémentaire, et qu'il m'est très difficile de les mettre dans la macro.
Merci pour votre aide
Voici mon petit souci :
Je veux utiliser une bibliothèque à travers une macro complémentaire, le problème est que dans le corps VBA de ma macro complémentaire, j'ai besoin d'un élément que saisie l'utilisateur comme argument de de cette fonction pour pouvoir faire le calcul sur ma feuille (qui se trouve dans la macro complémentaire) et retourner le résultat.
petit exemple pour illustrer ceci.
Supposons que ma macro complémentaire est comme suit:
<code>Public Function Fact_escompte(Taux_i)
Workbooks("Calcul.xla").Worksheets("Feuil").Cells(6, 4) = Taux_i
Application.Calculate
Fact_escompte = Workbooks("Calcul.xla").Worksheets("Feuil").Cells(10, 9)
<code>End Function
Vous aurez bien évidemment compris que la ou les formules de calculs se trouvent sur la feuille de calcul du ficher de ma macro complémentaire, et qu'il m'est très difficile de les mettre dans la macro.
Merci pour votre aide
A voir également:
- Recalcul du fichier de macro complémentaire
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
4 réponses
Bonjour,
Je ne sais pas exactement à quel niveau tu rencontres ton problème, mais si ça peut t'aider, tu peux demander le taux à l'utilisateur par l'intermédiaire d'un InputBox.
Je ne sais pas exactement à quel niveau tu rencontres ton problème, mais si ça peut t'aider, tu peux demander le taux à l'utilisateur par l'intermédiaire d'un InputBox.
Peut-être que si tu limites le Calculate à la plage qui est réellement à recalculer, ta macro tournera correctement.
Tu peux essayer Application.EnableEvents = False en début de fonction puis Application.EnableEvents = True avant de sortir. Sinon, en passant par un fichier intermédiaire qui serait la copie de ton classeur.
Bonsoir,
Après vérification, je pense savoir d'où vient le problème : Function. Une fonction ne peut être utilisée pour manipuler des objets (cellules, mises en formes, ...), elle se contente de retourner une valeur. Il faut donc réécrire ta macro en passant par des procédures ou en intégrant tes calculs dans ta fonction (toutes les fonctions Excel sont accessibles depuis les macros). Si tu as besoin d'aide, tu peux mettre ton fichier en lien.
Après vérification, je pense savoir d'où vient le problème : Function. Une fonction ne peut être utilisée pour manipuler des objets (cellules, mises en formes, ...), elle se contente de retourner une valeur. Il faut donc réécrire ta macro en passant par des procédures ou en intégrant tes calculs dans ta fonction (toutes les fonctions Excel sont accessibles depuis les macros). Si tu as besoin d'aide, tu peux mettre ton fichier en lien.
ce qui fait que je ne peux pas changer le paramètre taux dans la feuille de ma macro complémentaire pour refaire le calcul et redonner le résultat.
le problème de l'input box serait le même, puisque à partir du moment ou je prend la valeur entrée par l'utilisateur et que je veuille la mettre dans la feuille de calcul , il fera exactement la même chose.