Traitement des valeurs à virgules...

Fermé
Voxiotae Messages postés 6 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 15 décembre 2014 - 30 janv. 2014 à 17:25
Voxiotae Messages postés 6 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 15 décembre 2014 - 30 janv. 2014 à 18:56
Bonjour à tous !

Voilà, je me permets de poster ici car j'ai un petit problème avec une macro dans excel (je suis un débutant , et j'ai quelques notions de Visual Basic mais là...)

Alors voilà: je veux simplement faire s'incrémenter une Cellule1 de la valeur d'une Cellule2.

Donc, j'ai fait une macro associée à un bouton et cette macro est du type:

Range("Cellule1").Value = Range("Cellule1").Value + Range("Cellule2").Value

Rien de bien sorcier donc, bien qu'il y ait d'autres choses sans trop d'importance encore autour. Ca marche plutôt bien mais... avec des nombres entiers seulement. Hors, s'il s'avère que pour une raison ou une autre, la Cellule1 ou la Cellule2 comportent des nombres décimaux (avec une virgule donc...) Ca ne fonctionne plus ! J'ai essayé de remplacer les séparateurs de décimales par des points, mais sans succès.

Auriez-vous une solution pour que ma cellule s'incrémente, même avec des nombres décimaux ?

Merci par avance ;-)

6 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
30 janv. 2014 à 17:47
Bonjour
tout cela fonctionne très bien y compris avec des décimales, je viens de vérifier
êtes vous ,sur que votre cellule A1 est bien formatée pour afficher les décimales?

crdlmnt
0
Voxiotae Messages postés 6 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 15 décembre 2014
30 janv. 2014 à 17:58
Je viens de réessayer de la manière suivante:

Admettons que je dois incrémenter la cellule A1 par la cellule A2.

Le script reste

Sub Macro1

Range("A1").Value = Range("A1").Value + Range("A2").Value

End Sub


J'ai entré dans A2 la valeur 50. Je clique sur le bouton, la macro s'exécute, la cellule A1 prend la valeur 50 et A2 reste aussi à 50. Je reclique sans rien changer, A1 prend la valeur 100, et A2 reste à 50. Je change A2 en 75. Je reclique. A1 prend la valeur 175, et A2 reste à 75. Donc ça fonctionne parfaitement. Je configure mes cellules pour qu'elles affichent 2 décimales. A1 prend la valeur 175,00 et A2 75,00. Je clique, et là, c'est le drame, ça ne fonctionne plus ! Et ce avec n'importe quel chiffre derrière la virgule...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
30 janv. 2014 à 18:18
Voyez ici si cela fonctionne chez vous, chez moi ça se passe bien.
Seule différence dans la macro: sélection de la cellule A1 dans la macro avant de passer à la ligne d'addition,car chez moi sinon ça ne fonctionne pas.
https://www.cjoint.com/?DAEsqXICAK4
0
ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 2 429
30 janv. 2014 à 18:16
Bonjour

Vaucluse (salut à toi) doit rester perplexe devant ce drame .... comme moi d'ailleurs
Un test qui montre que tout marche normalement
https://www.cjoint.com/?3AEsohKAV4a

Si ça résiste toujours, envoies la partie concernée de ton fichier au format excel 2003 sur cjoint.com et joins le lien obtenu à ton prochain message

Bonne suite
0
Voxiotae Messages postés 6 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 15 décembre 2014
30 janv. 2014 à 18:26
Je crois que j'ai trouvé le problème. En fait, j'ai un peu menti... Pardon pardon pardon pardon...

Le script exact est:

Range("A1").Value = "=" & Range("A1").Value + Range("A2").Value

Vous remarquerez que je souhaite ajouter "=" devant la valeur incrémentée suivi de l'addition... Or, vos fichiers fonctionnent chez moi. Et dès que j'ajoute ce "=" & ADDITION, à vos fichiers, ça ne fonctionne plus !

Donc la question est en fait: comment se fait-il que ce petit bout de "=" ne marche pas avec les décimales ? Et en fait j'aimerais vraiment que la cellule finale comporte ce = avant la valeur... comment faire ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
Modifié par Vaucluse le 30/01/2014 à 18:41
Indépendamment du fait que je vois pas la solution (je ne suis pas très costaud en VBA, je ne vois pas comment vous pourrez incrémenter une addition si vous avez un texte dans une des cellules sommées!
vous devreiz peut être essayez de travailler sur deux cellules, une pour le résultat est une pour l'affichage que vous souhaitez
soit crésultat en A1 et en B1 "="&A1

ou éventuellement si c'est pour faire joli, formatez la cellule A1 en format personnalisé et type:
"=ADDITION "standard
(ou ce que vous voulez entre guillemets. Dans ce cas, la cellule garde sa valeur numérique)
Crdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10905 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 décembre 2024 2 429
30 janv. 2014 à 18:36
Le plus simple est d'agir sur le format de A1
Format/cellule/personnalisé =0,00

bonne suite
0
Voxiotae Messages postés 6 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 15 décembre 2014
30 janv. 2014 à 18:56
La solution de travailler sur deux cellules me semble plausible. En fait je veux mettre ce "=" devant pour pouvoir faire des calculs manuels ultérieurs sur cette cellulle, sans avoir à rajouter le "=" manuellement à chaque fois que je cliquerai sur mon bouton de macro !
0