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 & "" & 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.
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 & "" & 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.