Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Sommes avec VBA

HM67

XLDnaute Nouveau
Mesdames, Messieurs les experts VBA.
Je suis à recherche d'une solution permettant de faire une somme dans une cellule donnée, de toutes les valeurs sur une ligne et de répéter cette operation sur les 10 lignes du dessous.

Exemple:
I5 = sum de J5 à jusqu'a derniere cellule non vide de la ligne
I6 = sum de J6 à jusqu'a derniere cellule non vide de la ligne

ect,...

Merci pour votre aide.
HM
 

job75

XLDnaute Barbatruc
Maintenant si l'on passe son temps à supprimer des colonnes à droite de I5 mieux vaut utiliser :
Code:
=SOMME(DECALER(I5;;1;;16384-COLONNE()))
16384 c'est pour les versions postérieures à Excel 2003, sinon utiliser 256.
 

job75

XLDnaute Barbatruc
En VBA :
VB:
With [I5].Resize(11) 'adaptable
    .Formula = "=SUM(" & .Cells(1, 2).Resize(, Columns.Count - .Column).Address(0, 0) & ")"
    .Value = .Value 'supprime les formules
End With
Edit : bonjour mapomme, OK mais 16384 est plus simple que COLONNES(5:5) non ?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Une fonction personnalisée VBA:
VB:
Function SommeFinCol(xcol As Range)
   SommeFinCol = Application.Sum(Application.Caller.Offset(, 1).Resize(, Columns.Count - Application.Caller.Column))
End Function

J'ai mis un paramètre à la fonction pour que la fonction s'actualise quand on insère des colonnes à droite de la cellule où se trouve la fonction.
On appelle donc la fonction par : =SommeFinCol(7:7) si on est sur la ligne 7
 

Pièces jointes

  • HM67- somme fin colonne- v1.xlsm
    17.8 KB · Affichages: 9

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…