VBA - Problème duplication ligne

Camy -  
 Tyrael41 -
Bonjour,

Je suis absolument nulle en VBA et je cherche à faire une macro qui duppliquerait, en appuyant sur un bouton, la ligne supérieure d'un tableau et l'insererait au dessous en gardant juste ses formules.

En farfouillant un peu partout j'ai trouvé cette macro :

Sub InsertARow()
'Crée une nouvelle ligne
ActiveCell.EntireRow.Insert Shift:=xlDown
'Copie de la ligne supérieure
ActiveCell.Offset(-1, 0).EntireRow.Copy Cells(ActiveCell.Row, 1)
On Error Resume Next
'Efface le contenu de tous les cellules de la nouvelle ligne qui ne contiennent pas de formule
'ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants, 23).ClearContents

End Sub

que je comprend bien et qui fonctionne parfaitement à un petit détail près... dans ma dernière colonne j'utilise normalement la fonction INDEX. Or on dirait que la macro ne considère pas qu'il s'agit d'une formule et l'efface au même titre que les constantes. Est-ce que quelqu'un saurait comment faire pour conserver également cette formule?

Je remercie par avance toute personne qui me permettra de m'arrêter de m'arracher les cheveux!


A voir également:

1 réponse

Tyrael41
 
Bonjour,

Juste pour savoir : Où colles-tu la formule de ta première ligne ?
Car si je comprends bien là tu copies bien la formule et ensuite tu effaces tout ce qu'il y a dans la dernière ligne. Mais tu ne colles pas ta formule dans ta nouvelle ligne. Essaye avec ça après ton clearContents :

ActiveCell.EntireRow.PasteSpecial xlPasteFormulas,xlPasteSpecialOperationNone, False, False

Je débute aussi en VBA ;) bon courage :p
0