evaluate (somme) avec cellules non voisines (vba)...

Le
SylVBA
Bonsoir à vous tous,

Un petit problème que je n'arrive pas à résoudre toute seule (en une
sule ligne)

dans une boucle while / Wend je boucle sur la possibilité
d'additionner 4 cellules sur la même ligne que la cellule active

Les 3 premières sont de Ix à Kx et la quatrième cellule est en Gx
(soit 5 colonnes avant la colonne L ou la cellule active travaille)

Mon bout de code:
While ActiveCell.Offset(0, -11).Value <> ""

ActiveCell.Value = Evaluate("SUM(" & "I" & ActiveCell.Row & ":K" &
ActiveCell.Row & ")") '& ";" & "G" & ActiveCell.Row
ActiveCell.Value = ActiveCell.Value + ActiveCell.Offset(0,
-5).Value

ActiveCell.Offset(1, 0).Select
Wend

Comment écrire cela sans etre obligée d'additionner le résultat de la
première ligne avec la cellule Gx, je n'arrive pas a réduire à une
ligne ce code ..

Merci de vos lumières et de vos explications, je suis tjrs moins
ignorante après,

A tout à l'heure, bonne soirée à vous tous,

SylVBA
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #17876141
Bonsoir,
dim laLig as long
laLig¬tivecell.row
ActiveCell.Value = Evaluate("SUM(" & "I" & laLig & ":K" & laLig & ";" & "G"
& laLig & ")")
convient il ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"SylVBA" news:
Bonsoir à vous tous,

Un petit problème que je n'arrive pas à résoudre toute seule (en une
sule ligne)

dans une boucle while / Wend je boucle sur la possibilité
d'additionner 4 cellules sur la même ligne que la cellule active

Les 3 premières sont de Ix à Kx et la quatrième cellule est en Gx
(soit 5 colonnes avant la colonne L ou la cellule active travaille)

Mon bout de code:
While ActiveCell.Offset(0, -11).Value <> ""

ActiveCell.Value = Evaluate("SUM(" & "I" & ActiveCell.Row & ":K" &
ActiveCell.Row & ")") '& ";" & "G" & ActiveCell.Row
ActiveCell.Value = ActiveCell.Value + ActiveCell.Offset(0,
-5).Value

ActiveCell.Offset(1, 0).Select
Wend

Comment écrire cela sans etre obligée d'additionner le résultat de la
première ligne avec la cellule Gx, je n'arrive pas a réduire à une
ligne ce code .....

Merci de vos lumières et de vos explications, je suis tjrs moins
ignorante après,

A tout à l'heure, bonne soirée à vous tous,

SylVBA
Hervé
Le #17876131
Bonsoir,

Je ne suis pas sûr d'avoir tout saisi mais voilà, ceci inscrit la formule
=Somme(Ix:Kx) dans la colonne L de la cellule x jusqu'à ce que Ax soit vide
:

While ActiveCell.Offset(0, -11).Value <> ""
ActiveCell.Formula = "=SUM(I" & ActiveCell.Row & _
":K" & ActiveCell.Row & ")"
ActiveCell.Offset(1, 0).Select
Wend


Hervé.


"SylVBA"
Bonsoir à vous tous,

Un petit problème que je n'arrive pas à résoudre toute seule (en une
sule ligne)

dans une boucle while / Wend je boucle sur la possibilité
d'additionner 4 cellules sur la même ligne que la cellule active

Les 3 premières sont de Ix à Kx et la quatrième cellule est en Gx
(soit 5 colonnes avant la colonne L ou la cellule active travaille)

Mon bout de code:
While ActiveCell.Offset(0, -11).Value <> ""

ActiveCell.Value = Evaluate("SUM(" & "I" & ActiveCell.Row & ":K" &
ActiveCell.Row & ")") '& ";" & "G" & ActiveCell.Row
ActiveCell.Value = ActiveCell.Value + ActiveCell.Offset(0,
-5).Value

ActiveCell.Offset(1, 0).Select
Wend

Comment écrire cela sans etre obligée d'additionner le résultat de la
première ligne avec la cellule Gx, je n'arrive pas a réduire à une
ligne ce code .....

Merci de vos lumières et de vos explications, je suis tjrs moins
ignorante après,

A tout à l'heure, bonne soirée à vous tous,

SylVBA
SylVBA
Le #17876651
Bsr Philippe et hervé,

La solution de Philippe donne #VALEUR!

Je souhaite en fait faire une addition de 4 cellules, la Gx (x =
numéro de ligne) + la Ix + Jx + Kx, les 3 adjacentes, pas de problème,
la quatrième (colonne G) cela ne fonctionne pas et c'est pour cela que
je suis obligée d'écrire en 2 lignes différentes.

Je ne suis peut être pas très claire ....mais c'est l'équivalent (pou r
la ligne 2) de :

=SOMME(I2:K2)+G2

Merci de votre diligence et patience..
Je reste dans le coin,

Bonne soirée
SylVBA
SylVBA
Le #17877931
Bsr

C'est donc pas possible de réduire ce bout de code en 1 ligne ?


ActiveCell.Value = Evaluate("SUM(" & "I" & ActiveCell.Row & ":K" &
ActiveCell.Row & ")")
ActiveCell.Value = ActiveCell.Value + ActiveCell.Offset(0,
-5).Value



Merci encore pour votre aide

Syl VBA
isabelle
Le #17878111
bonjour SylVBA,

ActiveCell.Value = Application.Sum(Range("I" & ActiveCell.Row & ":K" &
ActiveCell.Row)) + ActiveCell.Offset(0, -5)

isabelle

SylVBA a écrit :
Bsr

C'est donc pas possible de réduire ce bout de code en 1 ligne ?


ActiveCell.Value = Evaluate("SUM(" & "I" & ActiveCell.Row & ":K" &
ActiveCell.Row & ")")
ActiveCell.Value = ActiveCell.Value + ActiveCell.Offset(0,
-5).Value



Merci encore pour votre aide

Syl VBA





SylVBA
Le #17878661
Bjr Isabelle,

En ce qui me concerne, trop de tableaux ....... c'est mauvais pour le
sommeil !! insomnie ............

En me réveillant ce matin, je me suis dit:

Mais c'est bien sur .................................

Merci pour ta solution, elle répond parfaitement à ma demande, un
Evaluate n'était donc pas nécessaire dans ce cas,

Je te souhaite une bonne journée et au plaisir de croiser un de tes
posts

Bien à toi,

SylVBA
Philippe.R
Le #17878761
Bonjour,
Il suffit de remplacer ";" par "," pour que ça fonctionne
Ainsi tu as le choix entre 2 formules, à noter que celle que je te propose
donne le résultat indépendamment de la colonne active pour peu qu'elle soit
différente de celles sommées.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"SylVBA" news:
Bsr Philippe et hervé,

La solution de Philippe donne #VALEUR!

Je souhaite en fait faire une addition de 4 cellules, la Gx (x numéro de ligne) + la Ix + Jx + Kx, les 3 adjacentes, pas de problème,
la quatrième (colonne G) cela ne fonctionne pas et c'est pour cela que
je suis obligée d'écrire en 2 lignes différentes.

Je ne suis peut être pas très claire ....mais c'est l'équivalent (pour
la ligne 2) de :

=SOMME(I2:K2)+G2

Merci de votre diligence et patience..
Je reste dans le coin,

Bonne soirée
SylVBA
Publicité
Poster une réponse
Anonyme