Variables
#1
Débutant XLPages

Inscription: 25/10/2011

Messages: 12

Système d'exploitation:
PC
Version Excel utilisée:
2003, 2007, 2010
Posté le : 05-12-2014 15h28

Bonjour à tous,

 

Je me permets de soumettre mon problème aux experts de ce forum.

 

J'ai un module VBA qui traite une grande quantité de calcul. Pour effectuer ces calculs j'utilise énormément de variables qui sont liées à une feuille de calcul.

 

Par fainéantise et au vue de leur très grands nombres, je ne les ai pas déclaré et me suis évidement affranchi de la commande Option Explicit en tête de module. De ce fait l'ensemble de mes variables sont par défaut de type Variant.

 

Il est évident qu'on est bien loin de ce qu'il faudrait faire pour optimiser le code et notamment le temps de calcul et l'utilisation de la mémoire.

 

Mon problème est que plusieurs de ces variables contiennent des valeurs décimales mais que VBA les traitent comme des entiers. Il en résulte de très grosses approximations dans le résultat de mes calculs.

 

J'ai alors essayé de déclarer uniquement les variables à valeurs décimale, en utilisant le type Simple, Long ou Decimal mais sans plus de succès Excel et VBA les traitent toujours comme des entiers.

 

Avez vous des suggestions pour contourner ce problème?

 

Merci d'avance pour votre aide.

 

Cordialement,

Fabrice

Hors Ligne
Rapport   Haut 

Re: Variables
#2
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 05-12-2014 16h57

Bonjour Fabrice,

 

Si tu joignais un petit fichier exemple ce serait plus facile.

 

Cordialement,

 

Guy


Hors Ligne
Rapport   Haut 

Re: Variables
#3
Débutant XLPages

Inscription: 25/10/2011

Messages: 12

Système d'exploitation:
PC
Version Excel utilisée:
2003, 2007, 2010
Posté le : 07-12-2014 07h09

Bonjour Guy,

 

Merci pour ton aide.

 

Au final j'ai trouvé le problème par moi même en voulant créer le fichier d'exemple!

 

Pour aller chercher la valeur de la variable dans ma feuille, j'utiliser la ligne de code suivante:

 

Variable1 = Val(Worksheets("Feuil1").cells(1,2))

 

Dans ce cas, ma variable était prise par VBA à la valeur de l'entier inférieur.

 

Il suffisait de coder comme ceci pour ne plus avoir de problème:


Variable1 = Worksheets("Feuil1").cells(1,2)

 

Encore merci pour avoir pris le temps d'essayer de comprendre mon problème.

 

Cordialement,

Fabrice

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes