Addition toute bête en VBA (Macro Excel)

Addition toute bête en VBA (Macro Excel) - VB/VBA/VBS - Programmation

Marsh Posté le 05-07-2009 à 21:33:39    

Bonjour,

 

Je suis assez perplexe par le résultat de cette ligne de code :

Range("A" & Num_Ligne + Compteur).Value = Range("A" & Num_Ligne + Compteur).Value + 1


En effet, au lieu d'ajouter 1, ça ajoute... 1635 !

 

Si je tente ça, ça marche bien par contre, donc le pb vient bien de l'addition.

Range("A" & Num_Ligne + Compteur).Value = Range("A" & Num_Ligne + Compteur).Value

 

J'ai testé en créant une autre variable, par exemple

Dim Lol = 1
Range("A" & Num_Ligne + Compteur).Value = Range("A" & Num_Ligne + Compteur).Value + lol


Mais le problème est toujours le même.

 

Bien sur, les choses fonctionnent si au lieu d'ajouter 15 par exemple, je tape + 15/1635

Range("A" & Num_Ligne + Compteur).Value = Range("A" & Num_Ligne + Compteur).Value + 15/1635


Mais je ne vois pas tellement d'où vient le problème. (Apparemment pas du format des cellules, du coup je ne vois pas vraiment)

 

Merci à ceux qui pourront m'aider.

Message cité 1 fois
Message édité par $temp le 05-07-2009 à 21:35:24
Reply

Marsh Posté le 05-07-2009 à 21:33:39   

Reply

Marsh Posté le 05-07-2009 à 22:18:23    


Chez moi ça s'incrémente que de un, tes variables Num_Ligne et Compteur sont déclarées en quoi ?


---------------
"That kind of information doesn't just grow on trees."
Reply

Marsh Posté le 05-07-2009 à 22:40:46    

Ctplm a écrit :


Chez moi ça s'incrémente que de un, tes variables Num_Ligne et Compteur sont déclarées en quoi ?


J'avoue qu'en tant que noob en VBA, que je considère comme un langage pas très propre... je ne précise pas mon type de variables  :D  
Je les déclare juste par un "Dim MaVariable". Tu penses que le souci peut venir de là ? Je peux essayer en les déclarant en tant que quoi par exemple ? Double ?

Reply

Marsh Posté le 05-07-2009 à 23:16:28    

'fin je me dis que si chez toi ça s'incrémente correctement, c'est que le bug vient d'ailleurs dans mon code. Je ne pense pas que ça vient du format, j'vais me replonger dans mon code pour voir d'où ça pèche...

 

Merci beaucoup en tout cas


Message édité par $temp le 05-07-2009 à 23:16:37
Reply

Marsh Posté le 06-07-2009 à 09:03:57    


Integer. Mais bon ça me parait bizarre que ça vienne de là..


---------------
"That kind of information doesn't just grow on trees."
Reply

Marsh Posté le 06-07-2009 à 14:54:28    

$temp a écrit :


Range("A" & Num_Ligne + Compteur).Value = Range("A" & Num_Ligne + Compteur).Value + 1




Pour moi, ça vient du format de ta cellule "Range("A" & Num_Ligne + Compteur)".
Si par exemple c'est au format "date", une addition pourrait éventuellement donner ce genre d'erreur.
 
Vérifie et, si ce n'est pas le cas, applique le format "nombre".


---------------
If you think it could look good, then I guess it should
Reply

Marsh Posté le 06-07-2009 à 21:57:28    

C'est bon, j'ai réussi à régler le problème. Enfin... indirectement.
J'avais besoin d'une solution qui marche, et assez rapidement, du coup j'ai carrément refait un code différent mais qui aboutit au même résultat, et là ça marche.
 
Le mystère demeurera donc :) Merci pour vos messages en tout cas

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed