1 pièce(s) jointe(s)
Calcul sommes en automatique en VBA
Bonjour a tous,
Pouvez-vous svp me dire comment simplifier le code ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Sub MacrT()
Sheets("Feuil1").Select
'Initialisation de la boucle
Dim i As Integer
i = 1
'Boucle la colonne 1
Do While (Cells(1, i).Value <> "")
FonctCalSom (i)
i = i + 2
Loop
End Sub |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
Sub FonctCalSom(ByVal col As Integer)
'Initialisation de la boucle
Dim i As Integer
i = 2
'Boucle sur la liste de cellule
Do While (Cells(i, 1).Value <> "")
If Cells(i, 1).Value <> "" Then
Set MaPlage = Range("b3:b6")
Maformule = "=sum(" & MaPlage.AddressLocal() & ")"
Cells(2, 2).Formula = Maformule
Set MaPlage = Range("c3:c6")
Maformule = "=sum(" & MaPlage.AddressLocal() & ")"
Cells(2, 3).Formula = Maformule
Else
Cells(i, 2).Value = ""
End If
i = i + 1
Loop
End Sub |
L'objectif c'est que la col3 soit remplie automatiquement comme les deux colonnes col1 et col2 et que "E2" reste vide si pas de valeurs sous les lignes de lign2 à lign5.
Je ne souhaite pas modifier a chaque nouvelle colonne mettre le code ci-dessous :
Code:
1 2 3 4
|
Set MaPlage = Range("d3:d6")
Maformule = "=sum(" & MaPlage.AddressLocal() & ")"
Cells(2, 4).Formula = Maformule |
Merci d'avance pour votre aide:confused: