fonction somme avec des variables

fonction somme avec des variables - VB/VBA/VBS - Programmation

Marsh Posté le 08-06-2006 à 09:55:23    

Bonjour
 
voila mon probleme :
je doit faire  =Somme(B8:B10), puis idem pour C8:C10, puis D8:D10, etc.
Donc j'aimerai faire la somme du 8eme nombre jusqu'au 10eme pour mes n colones. (mais en visual basic)
 
je sais qu'il faut un while ou un for mais ce que je veut savoir c'est comment mettre la colone dans ma variable n afin de faire une recopie incrementer en visual basic
 
en esperant avoir été assez claire
Cordialement
Darki

Reply

Marsh Posté le 08-06-2006 à 09:55:23   

Reply

Marsh Posté le 08-06-2006 à 10:10:17    

En VBA on utilise l'objet Cells (entre autres) pour accéder aux cellules.
Avec la syntaxe « ActiveSheet.Cells(1, 3).value », tu récupères la valeur de la cellule située en ligne 1 de la colonne 3.
Il te reste à remplacer ces valeurs constantes par des indices de boucles For pour résoudre ton problème.

Reply

Marsh Posté le 08-06-2006 à 10:42:06    

le truk c'est que je savait faire sa...
j'ai donc du mal m'exprimer :lol:
 
il n'y a pas moyen de mettre l'indice dans la fonction sum()?
c'est plutot ça qui m'interesse mais je vais quand même essayer avec ce que tu vien de me dire.
 
merci
@+

Reply

Marsh Posté le 08-06-2006 à 11:30:25    

La fonction Sum() accepte comme paramètre un objet Range je crois.
L'objet Range peut être écrit comme suit : Range(Cells(8, 10), Cells(10, 10)), ce qui te replace dans le contexte de mon premier message.
À vérifier, mon VBA/Excel est rouillé.

Reply

Marsh Posté le 08-06-2006 à 13:42:26    

ok pas de probleme je vais essayer
 
merci beaucoup

Reply

Marsh Posté le 08-06-2006 à 16:14:50    

non apparament mon excel est retissant de la fonction range...
je ne voit pas ce que je peut faire...

Reply

Marsh Posté le 08-06-2006 à 16:45:14    

Bon, voilà un exemple tout con qui fonctionne

Dim rg As Range
     
Set rg = ActiveSheet.Range(Cells(1, 2), Cells(8, 2))
     
ActiveSheet.Cells(10, 2).Formula = "=SUM(" & rg.AddressLocal & " )"

Évidemment il faut remplir la colonne 2 avec des nombres sur les 8 premières lignes pour que la formule soit effective.

Reply

Marsh Posté le 09-06-2006 à 08:31:12    

merci beaucoup tu me sauve la vie
 
je vais essayer sa tout de suite!!!
lol
merci de m'aider même si ton VBA est "rouiller"

Reply

Marsh Posté le 09-06-2006 à 08:35:44    

Za FvoNcZioNne!!!!!!
mdr
 
je suis trop content merci beaucoup tegu!!!!!!!!!

Reply

Sujets relatifs:

Leave a Replay

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