Traitement des valeurs à virgules...

Voxiotae Messages postés 8 Statut Membre -  
Voxiotae Messages postés 8 Statut Membre -
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 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 443
 
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 8 Statut Membre
 
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 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 443
 
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 11033 Statut Membre 2 433
 
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 8 Statut Membre
 
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 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 443
 
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 11033 Statut Membre 2 433
 
Le plus simple est d'agir sur le format de A1
Format/cellule/personnalisé =0,00

bonne suite
0
Voxiotae Messages postés 8 Statut Membre
 
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