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
Publicité
Posté le 08-06-2006 à 09:55:23
tegu
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.
darki666
Posté le 08-06-2006 à 10:42:06
le truk c'est que je savait faire sa...
j'ai donc du mal m'exprimer
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
@+
tegu
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é.
darki666
Posté le 08-06-2006 à 13:42:26
ok pas de probleme je vais essayer
merci beaucoup
darki666
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...
tegu
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))