"=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfaisant!

YANN-56

XLDnaute Barbatruc
Bonjour à ceux qui passeront par ici,

Ma question paraîtra sans doute un peu bébête aux yeux de ceux qui pratiquent couramment cette écriture,
mais le "SUM" n'étant pas de mes coutumes; et je patine grave!

Voici le code:

Code:
Private Sub CommandButton1_Click()

With ActiveSheet

.Cells(.Range("B300").End(xlUp).Row + 2, 2).Formula = _
"=SUM(" & .Range(.Cells(5, 2), .Cells(.Range("B300").End(xlUp).Row, 2)).Address & ")"

[COLOR="seagreen"]' A L'IDENTIQUE POUR ECRIRE DANS "A1" Avec l'utilisation de "Cells" au lieu de "Range"[/COLOR]

.Cells(1, 1).Formula = _
"=SUM(" & .Range(.Cells(5, 2), .Cells(.Range("B300").End(xlUp).Row, 2)).Address & ")"

End With

End Sub

le "(.Range("B300")." me sclérose dans ce que je cherche à faire,
puisque que la plage à additionner peut être variable.

Je cherche donc à le remplacer par. ".Range(.Cells(5,2) .End(xlUp).Row ", ou un truc du genre.
mais il y a Saint Taxe qui ne répond pas à mes prières!!!

Si vous le faites; vous serez des Dieux.

Merci par avance.

Yann

Exemple joint
 

Pièces jointes

  • SOMME.xls
    19.5 KB · Affichages: 83
  • SOMME.xls
    19.5 KB · Affichages: 95
  • SOMME.xls
    19.5 KB · Affichages: 91

Banzai64

XLDnaute Accro
Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfaisant!

Bonjour
Pas sur de tout comprendre
Parce que à la place de B300 tu aurais mis B65536 la plage s'adaptera à tes données
Mais peut-être je suis à côté de ce que tu cherches
testes

Code:
.Cells(1, 1).Formula = _
"=SUM(" & .Range(.Cells(5, 2), .Cells(.Cells(65536, 2).End(xlUp).Row, 2)).Address & ")"

Bonne journée
 
Dernière édition:

klin89

XLDnaute Accro
Re: Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfais

Bonjour à tous,
Bonjour Yann,

En définissant une variable DerLig :
Peut-être ceci :

Code:
.Cells(1, 1).FormulaLocal = "=SOMME(" & .Cells(5, 2).Address & ":" & .Cells(DerLig, 2).Address & ")"

Klin89
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfaisant!

Bonsoir Banzai,

Je n'ai mis "300" pour simplement limiter la hauteur de la plage,
mais ce n'est qu'accessoire.

Je suis un peu étonné du Cells "65536" tout seul, mais je vais effectivement tester.

Le temps de bidouiller, et je reviens.

Amicalement.

Yann

P.S. Bonsoir Klin, je ne t'avais pas vu.
Merci pour ton idée, je vais aussi explorer.
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfaisant!

Re à vous,

Les choses avancent bien, mais il me reste à remplacer le " .Range("B300").End(xlUp).Row"

Par un ".Cells (1,2).End(xlUp).Row"

Peut-être en déterminant la Column(2)?... Je ne sais pas si...

Qu'en pensez-vous?

Merci en tous les cas pour vos réponses.

Yann

En relisant, je réalise que je me suis mal exprimé.

Je cherche en réalité maintenant à remplacer:
".Cells(1, 1).Formula = " par la ligne suivante de la colonne 2. Formula=
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfaisant!

Bonsoir Yann :eek: banzai, klin89 le fil
Code:
derlig = .Cells(300, 2).End(xlUp).Row
je n'ai pas lu tout le fil juste la dernière remarque d'Yves donc derlig c'est de moi !!
a+
Bonne soirée
Papou :eek:
 

YANN-56

XLDnaute Barbatruc
Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfaisant!

Merci à vous saint Mathieu, Marc, Luc, Jean, :) :) :) :)
(Je vous laisse le soin d'y ajouter vos prénoms ou pseudos)

J'ai mis vos aides suivant l'évangile, dans la panse de ma cornemuse et soufflé fort!
Des Bourdons en est sorti ce résultat qui me convient à merveille:

Code:
.Cells(.Cells(300, 2).End(xlUp).Row + 3, 2).Formula = "=SUM(" & .Cells(5, 2).Address _
& ":" & .Cells(.Cells(300, 2).End(xlUp).Row, 2).Address & ")"
Le choix de la plage à traiter devient donc des plus simplissime.

Au regard du nombre de visiteurs sur le fil, je joins cette adaptation qui pourra sans doute servir aux silencieux moines copistes qui pourraient, au passage, aussi vous remercier!!!

Qu'il est bon de recevoir si belles aides sur XLD... :)
J'ai gagné moult heures à ne pas me prendre la tête.

Je vous souhaite une bonne fin de fin de semaine.

Amicalement, et sincèrement.

Yann
 

Pièces jointes

  • SOMME_TOUTE.xls
    23.5 KB · Affichages: 74

laetitia90

XLDnaute Barbatruc
Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfaisant!

bonjour tous le peu que j'ai compris
on peut peut être tenter comme cela

Code:
Sub es()
Range("b300").End(xlUp)(4) = Application.WorksheetFunction.Sum(Range(Cells(5, 2), Cells(300, 2).End(xlUp)))
End Sub

ps simplifier un peu
 
Dernière édition:

klin89

XLDnaute Accro
Re: Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insatisfais

Re YANN-56
Bonsoir laetitia90, Banzai64, Paritec

Pour résumé :

Code:
.../...
Dim DerLig As Long

With ActiveSheet
  DerLig = .Cells(65536, 2).End(xlUp).Row
  .Cells(DerLig + 3, 2).FormulaLocal = "=SOMME(" & .Cells(5, 2).Address & ":" & .Cells(DerLig, 2).Address & ")"
End With
.../...

Klin89
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Re: Re : "=SUM(R[-6]C:R[-1]C)" Remplacé par "= SUM(Cells.... Et c.", mais insati

Bonsoir Banzai, Klin, Paritec, Laeticia, et à ceux qui passeront par là,

De ma petite question, il en ressort bel enrichissement. :)
(Pour ma pomme, et peut-être à autre visiteur)

Je ne pensais pas avoir autant de participants émérites.

Le résultat est là dans sa mise en application jointe.
(La souplesse de Cells(1,1) au lieu de "A1"... Et c. est évidente!)

Grand Merci à vous pour votre aide, et Bravo pour ce que vous savez faire.

Yann
 

Pièces jointes

  • TOUTES_SOMMES.xls
    41 KB · Affichages: 79

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU