Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Incrémenter une variable de la différence entre deux cellules

mortaurat

XLDnaute Nouveau
Bonjour,
Je programme en VBA depuis aujourd'hui (après avoir fait beaucoup de C), et j'epprouve quelques difficultés avec des opération simples du genre:
Code:
hausse = hausse + Cells(j, 5).Value - Cells(j - 1, 5).Value 'on incremente hausse de la difference
j'ai une magnifique erreur1004, pouvez vous m'expliquer pourquoi ?

Merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Incrémenter une variable de la différence entre deux cellules

Bonjour mort aux rats, et bienvenue sur le forum

ta ligne semble correcte mais...........

- si tu est dans une boucle For.......Next vérifie que la valeur de J soit un entier positif
- les contenus des cellules J,5 et J-1,5 sont-ils numériques ????

à+
Philippe
 

mortaurat

XLDnaute Nouveau
Re : Incrémenter une variable de la différence entre deux cellules

Oui ils sont de type numérique.
J'ai eu la même erreur ce matin en ecrivant:

J'ai du faire:
Pour régler le probléme.
mais pour une différence.

le code entier de la sub est:
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Incrémenter une variable de la différence entre deux cellules

Re,

ci-dessous, il semble y avoir un problème
Sheets(nom_action).Activate

essaie de remplacer par ceci:
Sheets("nom_action").Activate

à+
Philippe

Edit: Quelle est la ligne en surbrillance au moment du blocage ?
 
Dernière édition:

mortaurat

XLDnaute Nouveau
Re : Incrémenter une variable de la différence entre deux cellules

Euh non car nom_action est une variable contenant le nom de l'action que j'étudie.
c'est donc bien Sheets(nom_action).Activate
Ensuite, je vais sur la sheet de l'action, et je peut prendre ses cours et faire mes calculs normalement.
Sauf qu'il y a apparement un problème de type avec cette ligne:
hausse = hausse + Cells(j, 5).Value - Cells(j - 1, 5).Value 'on incremente hausse de la difference
 

mortaurat

XLDnaute Nouveau
Re : Incrémenter une variable de la différence entre deux cellules

Alors j'ai une théorie, et elle est bigrement fourbe !
C'est que les valeurs numériques sont sous la forme 6.5 et non 6,5. Or il doit prendre le '.' pour un caractère.
D'où l'erreur.
Comment je peut régler ça ?

Ce qui m’ennuie, c'est que les cours de mes actions sont directement récupérés d'internet... donc le ',' ou '.' ne dépend pas de moi.
 

Fred0o

XLDnaute Barbatruc
Re : Incrémenter une variable de la différence entre deux cellules

Bonsoir mortaurat, Philippe.

Tu peux essayer ceci :
VB:
hausse = hausse + CDbl(Replace(Cells(j, 5).Value, ".", ",")) - CDbl(Replace(Cells(j - 1, 5).Value, ".", ","))

A+
 

Discussions similaires

L
Réponses
2
Affichages
909
remercieme,nt à marco57
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…