Addition toute bête en VBA (Macro Excel) - VB/VBA/VBS - Programmation
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 ?
Marsh Posté le 05-07-2009 à 22:40:46
Ctplm a écrit : |
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
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 ?
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
Marsh Posté le 06-07-2009 à 09:03:57
Integer. Mais bon ça me parait bizarre que ça vienne de là..
Marsh Posté le 06-07-2009 à 14:54:28
$temp a écrit :
|
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".
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
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 édité par $temp le 05-07-2009 à 21:35:24