faire une somme sur plage dynamique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

goldfinger13

XLDnaute Occasionnel
Bonjour à tous je vous sollicite car je suis bloqué sur une formule.
Je souhaiter effectuer le total en ligne 17 de mon fichier la somme de deux plages ( de la ligne 1 à la ligne 5 et de la ligne 10 à la ligne 16 peut évoluer )et ce sur toutes les colonnes sachant que cela peut aller au delà de la colonne O (dynamique).
J'ai mis le fichier en question en pièce jointe merci par avance pour votre aide.
le bout de code ci dessous bloque au niveau de la déclaration des plages!

[/QUOTE]
Sub Totaliser()
Dim x As Integer
Dim dercol As Integer
Set MaPlage1 = Range(Cells(1, x), Cells(5, x)) 'c'est ici que ça coince
Set MaPlage2 = Range(Cells(10, x), Cells(16, x)) 'et là aussi

MaSomme = Application.WorksheetFunction.Sum(MaPlage1, MaPlage2)
dercol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column

For x = 1 To dercol
Cells(17, x) = MaSomme

Next x
End Sub
 

Pièces jointes

Dernière édition:
Bonjour goldfinger13,

Formule en A17 à tirer vers la droite =SOMME(A1:A5;A10:A16)

A+

En fait je me suis mal exprimé je veux effectuer cette opération en VBA .
Je bloque en fait sur la déclaration de ma plage avec la colonne variable
mon fichier contient déjà un bout de code ci dessous et je vous sollicite pour le finaliser.
Sub Totaliser()
Dim x As Integer
Dim dercol As Integer
Set MaPlage1 = Range(Cells(1, x), Cells(5, x)) 'c'est ici que ça coince
Set MaPlage2 = Range(Cells(10, x), Cells(16, x)) 'et là aussi

MaSomme = Application.WorksheetFunction.Sum(MaPlage1, MaPlage2)
dercol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column

For x = 1 To dercol
Cells(17, x) = MaSomme

Next x
End Sub
 
Puisque vous tenez au VBA :
VB:
Sub Totaliser()
With Intersect(ActiveSheet.UsedRange.EntireColumn, Rows(17))
    .FormulaR1C1 = "=SUM(R1C:R5C,R10C:R16C)"
    .Value = .Value 'supprime les formules
End With
End Sub
Puisque vous tenez au VBA :
VB:
Sub Totaliser()
With Intersect(ActiveSheet.UsedRange.EntireColumn, Rows(17))
    .FormulaR1C1 = "=SUM(R1C:R5C,R10C:R16C)"
    .Value = .Value 'supprime les formules
End With
End Sub

merci c'est parfait en fait j'ai plusieurs dizaines de fichiers à traiter et je veux en automatiser le traitement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
481
Réponses
4
Affichages
179
Réponses
3
Affichages
665
Réponses
16
Affichages
1 K
Retour