Bonjour a tous,
Pouvez-vous svp me dire comment simplifier le code ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 SubL'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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Je ne souhaite pas modifier a chaque nouvelle colonne mettre le code ci-dessous :
Merci d'avance pour votre aide:confused:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Set MaPlage = Range("d3:d6") Maformule = "=sum(" & MaPlage.AddressLocal() & ")" Cells(2, 4).Formula = Maformule
Partager