VBA - Problème duplication ligne
Camy
-
Tyrael41 -
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!
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:
- VBA - Problème duplication ligne
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Apparaitre hors ligne instagram - Guide
- Formulaire en ligne de meta - Guide
1 réponse
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
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