Code Vba incluant les insertions de ligne dans le calcul
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. :D
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 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 |