Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

7 réponses
Avatar
SylVBA
Bonsoir =E0 vous tous,

Un petit probl=E8me que je n'arrive pas =E0 r=E9soudre toute seule (en une
sule ligne)

dans une boucle while / Wend je boucle sur la possibilit=E9
d'additionner 4 cellules sur la m=EAme ligne que la cellule active

Les 3 premi=E8res sont de Ix =E0 Kx et la quatri=E8me 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 =3D Evaluate("SUM(" & "I" & ActiveCell.Row & ":K" &
ActiveCell.Row & ")") '& ";" & "G" & ActiveCell.Row
ActiveCell.Value =3D ActiveCell.Value + ActiveCell.Offset(0,
-5).Value

ActiveCell.Offset(1, 0).Select
Wend

Comment =E9crire cela sans etre oblig=E9e d'additionner le r=E9sultat de la
premi=E8re ligne avec la cellule Gx, je n'arrive pas a r=E9duire =E0 une
ligne ce code .....

Merci de vos lumi=E8res et de vos explications, je suis tjrs moins
ignorante apr=E8s,

A tout =E0 l'heure, bonne soir=E9e =E0 vous tous,

SylVBA

7 réponses

Avatar
Philippe.R
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" a écrit dans le message de
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
Avatar
Hervé
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" a écrit dans le message de 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
Avatar
SylVBA
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
Avatar
SylVBA
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
Avatar
isabelle
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





Avatar
SylVBA
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
Avatar
Philippe.R
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" a écrit dans le message de
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