Bonjour,

Je suis un débutant dans le vba et je cherche une solution au code ci-dessous que j'ai développé avec un collègue.

En effet le code prend en compte certaine ligne pour le calcul, ici: For i = 11 To 15.

Et je cherche donc une solution pour que si j'insère une ligne dans mon tableau, le code la prenne en compte.
Mon idée est que la ligne 11 devienne le départ et la ligne 15 (même si elle devient 17 par exemple à cause de l'insertion) soit la fin de la plage de calcul.

est-ce possible???

Merci d'avance pour vos réponses et votre temps.


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Private Sub CommandButton1_Click()
On Error GoTo errLigne
Dim Colonne As String, Formule As String, i As Long, Cel As String

 ActiveSheet.Unprotect Password:=""

Select Case Range("AA2")
Case "Janvier"
Colonne = "T"
Case "Fevrier"
Colonne = "U"
Case "Mars"
Colonne = "V"
Case "Avril"
Colonne = "W"
Case "Mai"
Colonne = "X"
Case "Juin"
Colonne = "Y"
Case "Juillet"
Colonne = "Z"
Case "Septembre"
Colonne = "P"
Case "Octobre"
Colonne = "Q"
Case "Novembre"
Colonne = "R"
Case "Decembre"
Colonne = "S"
End Select


For i = 11 To 15

' modification formule sur collone G
Formule = "=(O" & i & "*" & Colonne & i & ")"
Cel = "G" & i
Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule

' modification formule sur collone I
Formule = "=((M" & i & "*E" & i & ")/177)*" & Colonne & i
Cel = "I" & i
Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule

' modification formule sur collone J
Formule = "=(F" & i & "/177)*" & Colonne & i
'(F12/177)*P12
Cel = "J" & i
Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule

' modification formule sur collone K
'((C12*H12)*P12)*M12
Formule = "=((C" & i & "*H" & i & ")*" & Colonne & i & ")*M" & i
Cel = "K" & i
Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule

Next

 ActiveSheet.Protect Password:=""
Exit Sub
errLigne:
    MsgBox Err.Number & vbLf & Err.Description
End Sub