Bon... Jour à tous,
J'ai quelques problèmes avec une application Vba qui tourne sous Excel lorsque je veux la faire tourner sur des ordinateurs différents... je m'explique.
Actuellement, l'application tourne sans problèmes sur mon ordinateur (Mac et Parallels pour faire tourner une version Excel sous Windows)
Premier problème :
Si je tourne avec une version Excel pour Mac, tout mon programme VB se "bousille" pour une question d'accents... et devient non-exécutable.
Si je tourne avec une version Excel pour Windows - sous Parallels - tout fonctionne admirablement !
Maintenant, si je veux faire tourner l'application sue un PC Windows d'origine, avec une version Excel différente de la mienne, le programme ne fonctionne plus pour une question de virgule et de transfert de valeur vers des textbox (voir ci-dessous).
J'ai bien compris que c'était dû à une question de portabilité du programme. D'abord une configuration système pour les nombres décimaux (les virgules, les points et les espaces comme séparateurs). Je pense avoir résolu ce problème de configuration. Ensuite une question de portabilité du programme VB (notamment conversion de nombres en caractères)
Je vous joins un compte-rendu et exemple de ma programmation.
J'ai remarqué que le problème venait de la conversion des valeurs (décimales) vers du string (dans les textbox d'un formulaire). Sur mon ordi en version windwos, le programme fonctionne tel qu'il est écrit dans la pièce jointe. Dans l'ordinateur sous Windows et Excel 2007, la conversion ne se fait pas correctement (je perds l'information décimale).
En cherchant un peu j'ai vu que je devrait plutôt utiliser une conversion en utilisante la fonction "CSTR" ou en utilisant "cellule.val"
Ma question est la suivante : entre le CSTR et le .Val, quel est le moyen le plus "portable" afin que je ne retrouve pas le problème par la suite sur d'autres ordinateurs ?
Merci pour votre lecture et vos réponses éventuelles
Partager