Excel - Problème_sur_somme_plage_variable

Asked By Alex on 04-May-12 09:35 AM
Bonjour =E0 tous,

J'ai un souci avec une addition sur une plage variable et viens
demand=E9 de l'aide pour r=E9soudre ce probl=E8me.
Je sais que le debut de ma plage sera toujours "FI2", par contre ma
derni=E8re ligne de la plage est variable, j'ai tent=E9 d'=E9crire cela :
Selection.FormulaR1C1 =3D "=3DSUM(Range("FI2").select:R[-1]C)"
mais cela ne fonctionne.
Quelqu'un aurait il la solution =E0 mon probl=E8me ?
Merci par avance de votre aide.
Bien cordialement.
Alex


isabelle replied to Alex on 04-May-12 09:45 AM
bonjour Alex,

=SOMME(INDIRECT("FI2:FI"&NBVAL(FI2:FI65536)+1))

--
isabelle



Le 2012-05-04 09:35, Alex a ?crit :
DanielCo replied to Alex on 04-May-12 09:46 AM
Bonjour,
A mmoins que tu n'aies besoin de la formule R1C1 :
Selection.Formula = "=SUM(FI2:" & [FI2].End(xlDown).Address(0, 0) & ")"
Cordialement.
Daniel
Jacquouille replied to isabelle on 04-May-12 09:57 AM
Bonjour Isabelle

Connais-tu la parade s'il y a une cellule vide? (NBVAL sera diff?rent .....)
Faudrait un truc pour trouver la derni?re ligne ....

Jacquouille

jo0mhl$cev$5@speranza.aioe.org...

bonjour Alex,

=SOMME(INDIRECT("FI2:FI"&NBVAL(FI2:FI65536)+1))

--
isabelle



Le 2012-05-04 09:35, Alex a ?crit :
isabelle replied to Jacquouille on 04-May-12 10:06 AM
salut mon beau canard,

oui mais il faudra crocher les doigts,

=SOMME(INDIRECT("F2:F"&MAX(SI(F2:F65535<>"";LIGNE(F2:F65535)))))
matricielle (ctrl+maj+enter)

joyeux 700?me

--
isabelle



Le 2012-05-04 09:57, Jacquouille a ?crit :
Alex replied to isabelle on 04-May-12 10:13 AM
Re bonjour =E0 tous,

Oui en effet, il peut y avoir des trous dans la plage.
J'ai test=E9 les diff=E9rentes propositions, mais cela ne fonctionne pas.
Mon curseur est bien postionn=E9 apr=E8s la derni=E8re cellule de la plage,
et c'est =E0 ce moment la que je souhaite faire mon addition.
Merci encore par avance de votre aide.
Cordialement.
Alex
Alex replied to Alex on 04-May-12 10:33 AM
Re :

Pour mon positionnement de mon curseur sur la derni=E8re ligne ou je
souhaites obtenir le r=E9sultat.
Je me positionne dans une colonne qui est toujours entierement remplie
(FF) et j'ai =E9crit cela :
Range("FF1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
apr=E8s je le d=E9place en mode relatif de trois colonnes sur la droite
afin d'entrer ma formule =3D somme (FI2 : R-1C)
Encore merci
Alex
Alex replied to isabelle on 04-May-12 10:59 AM
Re :

J'ai tent=E9 =E9galement en faisant une variable pour compter les lignes,
j'ai ecrit ceci mais cela ne marche pas non plus :

Dim Nbligne As Integer
Dim p As Integer

Nbligne =3D Range("FF1").CurrentRegion.Rows.Count
p =3D Nbligne

Range("FF1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.Offset(0, 2).Range("A1").Select

Selection.Formula =3D "=3DSUM(FH2 & ": FH " & p)"

Peut etre est ce plus facile de corriger cela ?
Alex
Alex replied to Alex on 04-May-12 10:52 AM
Re Re :

J'ai tent=E9 aussi en faisant compter les lignes comme suit :
Dim Nbligne As Integer
Dim p As Integer
Nbligne =3D Range("FF1").CurrentRegion.Rows.Count
p =3D Nbligne
Selection.Formula =3D "=3DSUM(FH2 & ": FH " & p)"

Mais ca marche pas non plus ?
Alex
isabelle replied to Alex on 04-May-12 11:08 AM
bonjour Alex,

Dim p As Integer
p = Range("FF" & Rows.Count).End(xlUp).Row
Range("FH" & p + 1).Formula = "=SUM(FH2:FH" & p & ")"

--
isabelle



Le 2012-05-04 10:59, Alex a ?crit :
Alex replied to isabelle on 04-May-12 11:21 AM
Merci Isabelle ca merche super bien
Merci encore, en plus, j'ai pas besoin de me positionner sur la
colonne pour obtenir le calcul
Grand merci et bon week end
Alex
Jacquouille replied to Alex on 04-May-12 12:24 PM
Bonjour Alex
Quand tu pars de la ligne 65536 et que tu remontes, il vaut mieux le faire
sur la colonne dans laquelle tu veux ?crire. En effet, si tes colonnes ne
sont pas de la m?me longueur, tu seras couyonn?.
Perso, je calcule d'abord ma variable "derni?re ligne" (DerL).  Ensuite, je
me positionne sur DerL+1
derL = [A65536].End(-4162).Row >>>>>>donne la derni?re cel remplie
donc, si tu veux ?crire la somme de cette colonne, il vaut mieux le faire
une cel plus bas, soit:

derL = [A65536].End(-4162).Row+1

Cela ?vite aussi de s?lectionner trop de trucs.
C'est un peu (beaucoup) dans l'esprit de la r?ponse d'Isabelle ? 17:08.

Jacquouille

7ecff7d2-72af-49bd-a5d0-9798157293f8@v1g2000yqm.googlegroups.com...

Re :

Pour mon positionnement de mon curseur sur la derni?re ligne ou je
souhaites obtenir le r?sultat.
Je me positionne dans une colonne qui est toujours entierement remplie
(FF) et j'ai ?crit cela :
Range("FF1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
apr?s je le d?place en mode relatif de trois colonnes sur la droite
afin d'entrer ma formule = somme (FI2 : R-1C)
Encore merci
Alex