Faire une Somme Vba

Daniel65

XLDnaute Nouveau
Bonjour à tous,

C'est la première fois que je m'inscris dans un forum. J'ai lu beaucoup sur les différentes discussions et cela m'a beaucoup aider avec Vba. Par contre je n'ai pas trouve de réponse sur ce que je cherche à faire.

Voici mon dilem..

J'ai un fichier Excel " Guide Master" avec lequel j'appelle d'autre fichier Excel afin de les modifier. Je n'ai pas de problème la dessus j'utilise une boucle pour appeler les fichiers.

Ce que je veux faire c'est de faire une somme dans une cellule de colonne C de la région comprise entre 2 cellules dans la colonne B. Mon problème vient du fait que la région de la collonne B va varier selon le fichier que j'appelle. Voici un exemple

Table 1 ---------- ---------- Table2
A10 = * salaires ---------- A13=* salaires
A18 = * dépenses ---------- A24=* dépenses

J'aimerais que la Formule de Somme(A11:A17) inscrite dans la cellule B18 et dans l'autre cas que la Formule de Somme (A14:A23) inscrite dans la cellule B24. J'ai plusieurs Formule de somme à faire dans d'autre région de la colonne A.

Somme suivante serait
Table 1 ---------- ---------- Table2
A10=* salaires ---------- A13=* salaires
A18=* dépenses ---------- A24=* dépenses
A35=* fournitures ---------- A41=* fournitures

La formule de Somme(A19:A34) dans la cellule B35 et formule Somme(A25:A40) dans la cellule B41

et ainsi de suite j'ai environ dix formule de somme différentes par fichier..

J'ai utilise find pour trouve in Cell (A10) et Offset (0,1) pour aller Colonne B. Avec la formule suivante j'ai accompli ce que je voulais si je connais la région
Rng1= "=sum(B11:B19)" . Par contre je ne connais pas la région car elle va varier

J'ai esayé avec des variables mais j'obtiens le texte de la formule et non le formule
"" Rng1 = "=sum(Var1.Offset(1,1)" & ": Var2.Offset(-1,1) " & ")" ""

"" Var1 = ("* salaires") and Var2 = ("* dépenses") ""

Je suis certain que c'est facile pour vous à faire mais là je dépasse mes connaissances.J'espère que vous pouvez me suivre c'est pas facile à décrire en texte

merci à l'avance

Daniel
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Faire une Somme Vba

Bonjour Daniel65

Et bienvenue sur XLD

Pas facile non plus a comprendre 'en texte'

Il est toujours plus simple de s'exprimer (et de comprendre) avec un fichier exemple (sans données confidentielles) mentionnant d'ou l'on part et ou l'on veut arriver
Si tu pouvais nous poster cela je te promets que quelqu'un te proposera rapidement au moins un debut de solution
 

Daniel65

XLDnaute Nouveau
Re : Faire une Somme Vba

Merci

J'attache un document exemple. J'ai placé un autre feuille qui représente en réalité la feuille d'un autre document dans laquelle je dois aussi inscrire la formule de somme. J'ai du modifier le fichier car il était trop voluminieux alors les référence de cellule ne sont plus les mêmes mais il suffit de placer la formule de somme dans les cases en rouges de ce qui se retrouve au dessus. J'ai placé mon code VBa afin de vous montrer ce que j'ai essayé jusqu'à présent.

J'espère que cela va vous aider

Daniel
 
Dernière édition:

Softmama

XLDnaute Accro
Re : Faire une Somme Vba

Bonjour Daniel65,

Tu dois pouvoir t'en sortir avec un bout de code comme ça :
Code:
Sub test()
Dim c1 As Range, c2 As Range
        Var6 = ("*      Denrées alimentaires")
        Var7 = ("*      Fournitures et autres c")
Set c1 = Cells.Find(what:=Var6, LookIn:=xlValues, lookat:=xlWhole).Offset(1, 1)
Set c2 = Cells.Find(what:=Var7, LookIn:=xlValues, lookat:=xlWhole).Offset(-1, 1)
For t = 1 To 5
    c2.Offset(1, t - 1).Formula = "=sum(" & Range(c1, c2).Offset(0, t - 1).Address & ")"
Next t
End Sub

c2.Offset(1, t - 1).Formula = "=sum(" & Range(c1, c2).Offset(0, t - 1).Address & ")"
Next t
End Sub
 

Daniel65

XLDnaute Nouveau
Re : Faire une Somme Vba

Merci pour les 2 propositions.

La possibilités avec sous total ne s'applique pas car je ne saurais jamais le range de la formule. J'ai essayé avec l'idée de softmama la formule mais la formule s'inscris dans une nouvelle feuille dans la cellule A1 au lieu de la feuille correspondante donc je vais travaillé avec ce code et valider la cellule active .

Je reviens

encore merci

Daniel
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 098
Membres
104 031
dernier inscrit
RimeF