Autres Macro de calcul avec décimale

  • Initiateur de la discussion Initiateur de la discussion Papychou56
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Papychou56

XLDnaute Nouveau
Bonjour à toutes et tous.
Papy appelle au secours...: j'ai créé un classeur avec plusieurs feuilles.
Une de ces feuilles est utilisée pour stocker les résultats de divers calculs.
Pour cela, la feuille en question (feuille "Calcul") comporte une incrémentation des lignes afin d'avoir le dernier résultat sur la dernière ligne.
Le calcul est effectué grâce à un coefficient attribué en fonction d'un choix.
Dans ces coefficients, il y en a comportant des décimales.
Mon problème est bien là: VBA ne veut pas prendre en compte la décimale
Si j'écris la décimale avec un ".", cette dernière est arrondie à la valeur entière supérieure (par exemple: 1.5 est arrondi à 2).
Si je l'écris avec une virgule ",", elle génère "une erreur de compilation. Attendu: fin d'instruction".
Comment puis-je solutionner mon problème?
Voici le code de la macro en question:

'Coefficient multiplicateur.
Sub coefmulti()
Dim coef%, Multiplicateur$
Worksheets("Calcul").Activate
Multiplicateur = Cells(der_ligne, 5)
Select Case (Multiplicateur)
Case "Choix 1"
coef = 1
Case "Choix 2"
coef = 1,5
Case "Choix 3"
coef = 2
Case "Choix 4"
coef = 4.5
Case "Choix 5"
coef = 6
End Select
Sheets("Résultat").Cells(4, 7).Value = coef
End Sub

Merci à tous.
 
Bonjour @Papychou56 ,

Dans la déclaration des variables vous utilisez dim coef%
% est le raccourci pour désigner le type Integer.

VBA a donc attribué le type integer à la variable coef. Integer fait référence à un nombre sans virgule.
Donc quand un peu plus loin vous écrivez : coef = 4.5, VBA va convertir 4.5 en nombre sans virgule et l'affecter à coef.

Il faut donc changer le type de la variable coef : par exemple en Dim coef as single ou bien Dim coef as double qu'on peut aussi écrire : Dim coef! ou bien dim coef#
 
Bonjour mapomme.
Merci pour la petite formation à l'attention d'un papy qui bidouille en VBA.
J'ai appliqué le conseil et tout fonctionne parfaitement.
Je n'ai plus qu'à enregistrer la leçon dans mon classeur qui est dédié à ma formation.
Grand merci et bonne soirée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
481
Réponses
4
Affichages
995
Retour