XL 2019 VBA Insertion lignes avec recopie des formules

JBM91

XLDnaute Nouveau
Bonjour je souhaite pouvoir sur une feuille Excel insérer une ligne tout en gardant mes formules.
Je suis donc tombé sur ce code qui répond partiellement à mon besoin:

VB:
Sub Insertion()
ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row + 1).Copy Rows(ActiveCell.Row)
End Sub

Mon problème est que j'ai des formules faisant référence à la ligne n-1, un décalage se produit donc à l'endroit où j'insère ma ligne
 

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour,

Testez ceci :
VB:
Sub Insertion()
    ActiveCell.EntireRow.Insert
    Rows(ActiveCell.Row + 1).Copy
    Rows(ActiveCell.Row).PasteSpecial xlPasteFormulas
    Application.CutCopyMode = False ' pour désactiver la copie
End Sub

Cordialement
 

Dranreb

XLDnaute Barbatruc
Bonjour et bonne année.
Je vous conseillerais deux chose :
D'abord prendre comme formule en D2, à propager sur 4 lignes :
Code:
=SIERREUR(C2-DECALER(C2;-1;0);"-")
Ensuite mettre la plage sous forme de tableau Excel: la propagation des formules communes à toutes les lignes y est automatique.
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch