Aide sur une ligne de code : Inserer une ligne avec les formules de la ligne au dess

sniper2002

XLDnaute Occasionnel
Bonjour

j'aurai besoin de votre aide sur un code que j'ai récupéré !
il s'agit d'une macro qui permet d'inserer des lignes tout en dubliquant les formules en dessous de la ligne inserer

lorsque j'execute la macro, elle bloque sur cette ligne : l_Range.Insert Shift:=xlDown



Sub Ligne_Ajouter()
'
'AJOUT D'UNE LIGNE ET COPIE DES FORMULES
'=======================================

Dim l_LigneRef As Integer ' Ligne ou commence la copie
Dim l_Range As Range

Dim I As Integer

'ligne = ActiveCell.FormulaR1C1
ligne = ActiveCell.Row - gSentinelle + 1
If ligne = 1 Then
' Si la premiere ligne:
' -------------------------------------
l_LigneRef = ligne + 21
Else
l_LigneRef = ligne + 20
End If

Set l_Range = Rows(l_LigneRef)
l_Range.Insert Shift:=xlDown
Rows(gSentinelle).Copy
Set l_Range = Rows(l_LigneRef)
l_Range.Select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
' Nettoyer les saisies:

Range("B" & l_LigneRef).ClearContents
Range("C" & l_LigneRef & ":D" & l_LigneRef).ClearContents
Range("F" & l_LigneRef & ":I" & l_LigneRef).ClearContents
Range("L" & l_LigneRef & ":Q" & l_LigneRef).ClearContents

' Valeurs par defaut

Range("J" & l_LigneRef).Value = 0
Range("K" & l_LigneRef).Value = 0
Range("N" & l_LigneRef).Value = 0
Range("O" & l_LigneRef).Value = 0
Range("P" & l_LigneRef).Value = 0
Range("Q" & l_LigneRef).Value = 0

End Sub


pour info :
Public Const gSentinelle As Integer = 20

Merci de votre aide.
 

Discussions similaires

Réponses
1
Affichages
230

Statistiques des forums

Discussions
312 027
Messages
2 084 763
Membres
102 657
dernier inscrit
Ferdy