Somme évolutive avec VBA

  • Initiateur de la discussion Initiateur de la discussion adebrux
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

adebrux

XLDnaute Occasionnel
Salut le forum !

En ce week end qui approche, j'ai encore de grande questions méthaphysiques à vous poser.

Je dois dans mon tableau, et à l'aide de VBA, réaliser la somme des valeurs contenues dans certaines cellules.

Le problème, c'est que je ne sais pas avant de lancer ma macro ou seront ces cellules.

En cours de macro, je rempli donc un tableau donnant les positions des résultats intermédiaires :
Code:
 prix_intermediaire(i) = x
x étant une variable définie dans certaine de mes procédures.

Lorsque je clique sur mon bouton 'finish', je lance donc le code suivant:
Code:
cells(5,10).formula =''
for j = 1 tu Ubound(prix_intermediaire)
       cells(5,10).formula ='=RC+ RC[(prix_intermediaire(j)-10)]'
next j

'...

Ce qui me donne mon code d'erreur préféré: le 1004, ou erreur d'éxécution,
Erreur définie par l'application ou par l'objet...

Je suppose que ca vient du fait que je fait appel à la cellulle 'mère' dans ma formule, mais je sais pas comment faire sinon.

Il y aurait pu avoir la solution cells(1,2).value = Cells(,).value + etc...
Mais ca ne peut pas marcher parceque le programme ne me génère que le corps des calcul et des choix, que donc g des #N/A partout et que ducoup, cette somme là ne marche pas du tout nom plus...

Merci de votre aide!!!

Arnaud

Message édité par: adebrux, à: 05/11/2005 20:33
 
Je vais essyé d'être plus clair.

Lorsque j'exécute ma macro, je génère des résultats qui ne sont dans des colonnes différentes en fonction des choix que j'ai fais dans mon USF.
Afin de savoir ou sont placé ces résultat, j'enregistre dans un tableau leur numéro de colonne.

Ensuite, c'est là ou je bloque, je voudrais créer un code qui me permettrait de mettre dans une cellule la somme de tous les résultats précédents.

Comme les coordonnée des cellules à sommer sont dans un tableau, il faut que je créer une boucle (cf premier message du fil) avec un code du style
Code:
activecells.formula = 'RC + Cells(3, résultat(i))'
ou résultat(i) représente le numéro de colonne du iémé résultat intermédiaire.

Sauf que ca marche pas... [file name=departfonctionnel.zip size=24304]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/departfonctionnel.zip[/file]
 

Pièces jointes

Bonsoir Arnaud, bonsoir le forum,

Je n'ai pas réussi à aller au bout de ton USF car il faut entrer des valeurs que je ne connais pas. Ceci dit, j'ai l'impression que c'est la partie de code :

Code:
For temp = 1 To 2 * NbofProcess(i) + 1
  Cells(2 * i + 4, decalage(i) + 1).Formula = '=Cells(2 * i + 4, decalage(i) + 1).Formula + RC[(finalprice(i,temp)-decalage-1)]'
Next temp

qui te pose problème (Procédure : Private Sub Cmdnext3_Click), non ?

Si c'est le cas, tu peux essayer de la transformer ainsi :

Code:
For temp = 1 To 2 * NbofProcess(i) + 1
  If temp = 1 Then
    Cells(2 * i + 4, decalage(i) + 1).FormulaR1C1 = '=RC[' & (finalprice(i, temp) - decalage - 1) & ']'
  Else
    Cells(2 * i + 4, decalage(i) + 1).FormulaR1C1 = Cells(2 * i + 4, decalage(i) + 1).FormulaR1C1 & '+ RC[' & (finalprice(i, temp) - decalage - 1) & ']'
  End If
Next temp

Tiens nous au courant...

Amicalement
Charly
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
442
Réponses
3
Affichages
216
Réponses
0
Affichages
367
Réponses
2
Affichages
371
Réponses
1
Affichages
321
Retour