Code plus performant
Bonjour,
J'aimerais savoir s'il est de rendre ce bout de code plus performant.
Range("F" & derLn5 & ":AB" & derLn5).Copy Range("F" & derLn5 + 1 & ":AB" & derLn5 + m)
Range("Fixe_Format").Select
Selection.Copy
Range("F" & derLn5 - 1 & ":AA" & derLn5 + m + 1).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
With Selection.Font
.Name = "Arial"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("D" & derLn5 + m + 1) = "Total"
Range("F" & derLn5 + m + 1).FormulaLocal = "=somme(F" & derLn5 & ":F" & derLn5 + m & ")"
Range("G" & derLn5 + m + 1).FormulaLocal = "=somme(G" & derLn5 & ":G" & derLn5 + m & ")"
Range("H" & derLn5 + m + 1).FormulaLocal = "=somme(H" & derLn5 & ":H" & derLn5 + m & ")"
Range("I" & derLn5 + m + 1).FormulaLocal = "=somme(I" & derLn5 & ":I" & derLn5 + m & ")"
Range("J" & derLn5 + m + 1).FormulaLocal = "=somme(J" & derLn5 & ":J" & derLn5 + m & ")"
Range("F" & derLn5 + m + 1 & ":J" & derLn5 + m + 1).Select
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
Range("N" & derLn5 + m + 1).FormulaLocal = "=somme(N" & derLn5 & ":N" & derLn5 + m & ")"
Range("O" & derLn5 + m + 1).FormulaLocal = "=somme(O" & derLn5 & ":O" & derLn5 + m & ")"
Range("P" & derLn5 + m + 1).FormulaLocal = "=somme(P" & derLn5 & ":P" & derLn5 + m & ")"
Range("Q" & derLn5 + m + 1).FormulaLocal = "=somme(Q" & derLn5 & ":Q" & derLn5 + m & ")"
Range("R" & derLn5 + m + 1).FormulaLocal = "=somme(R" & derLn5 & ":R" & derLn5 + m & ")"
Range("N" & derLn5 + m + 1 & ":R" & derLn5 + m + 1).Select
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End WithMerci,
Oiseau bleu
Hello,
Oui.
Remplacer :
.Copypar des variables range. Par exemple
dim rg1 as range
dim rg2 as range
set rg1 = range("A1:A5")
set rg2 = range("B10:B15")
rg2.value = rg1.valuePas la peine de faire de :
.SelectExemple :
With Selection.Font
.Name = "Arial"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End Withpeut devenir :
dim rg1 as range
set rg1 = range("A1:A5")
with rg1.font
.name = "Arial"
.size = 10
end withMerci pour votre réponse.
Pour le code suivant y-a-t-il quelques choses à faire?
Range("Fixe_Format").Select
Selection.Copy
Range("F" & derLn5 - 1 & ":AA" & derLn5 + m + 1).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=FalseOiseau bleu
Et dans le cas du code suivant y-a-t-il une façon de ne pas utiliser SELECT
ActiveSheet.Shapes.Range(Array("BBAnGrp")).Select
Selection.Placement = xlMove
ActiveSheet.Shapes.Range(Array("FCAAnGrp")).Select
Selection.Placement = xlMove
ActiveSheet.Shapes.Range(Array("EBNAnGrp")).Select
Selection.Placement = xlMoveMerci,
Oiseau bleu
Hello,
Range("Fixe_Format").Select
Selection.Copy
Range("F" & derLn5 - 1 & ":AA" & derLn5 + m + 1).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=Falsepeut devenir :
Range("Fixe Format").copy
Range("F" & derLn5 - 1 & ":AA" & dernLn5 + m+1).PasteSpecial Paste:=xlPasteFormatset pour :
ActiveSheet.Shapes.Range(Array("BBAnGrp")).Select
Selection.Placement = xlMovepeut devenir :
ActiveSheet.Shapes.Range(Array("BBAnGrp")).Placement = xlMoveAinsi de suite avec les autres range.