Bonjour,
Je cherche à copier la dernière ligne du tableau (la dernière ligne non vide du tableau) pour ensuite coller seulement les formules sur la ligne du dessous (je ne veux pas de valeur).
Voici mon bout de code actuel... mais qui ne fonctionne pas :
-------------------
Sub Ajouter_ligne_avec_formules()
'
' Macro qui ajoute une ligne sous la dernière ligne non vide avec formules
'
' Déprotection
Sheets("mafeuille").Select
Range("A1").Select
ActiveSheet.Unprotect ("toto")
' Sélection de l'ensemble des colonnes et suppression des éventuels filtres
Range(Columns(1), Columns(Cells(1, Columns.Count).End(xlToLeft).Column)).Select
Selection.AutoFilter
Selection.AutoFilter
' Sélection et copie de la dernière ligne non vide
ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.R ows.Count).EntireRow.Select
Selection.Copy
' Sélection et colle la première ligne vide
ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.R ows.Count + 1).EntireRow.Select
With Selection
.Copy
.SpecialCells(xlCellTypeConstants, 3).ClearContents
End With
' Protection
ActiveSheet.Protect ("toto"), AllowInsertingRows:=False, AllowFiltering:=True
End Sub
-------------------
Merci d'avance,
rom3210
Je cherche à copier la dernière ligne du tableau (la dernière ligne non vide du tableau) pour ensuite coller seulement les formules sur la ligne du dessous (je ne veux pas de valeur).
Voici mon bout de code actuel... mais qui ne fonctionne pas :
-------------------
Sub Ajouter_ligne_avec_formules()
'
' Macro qui ajoute une ligne sous la dernière ligne non vide avec formules
'
' Déprotection
Sheets("mafeuille").Select
Range("A1").Select
ActiveSheet.Unprotect ("toto")
' Sélection de l'ensemble des colonnes et suppression des éventuels filtres
Range(Columns(1), Columns(Cells(1, Columns.Count).End(xlToLeft).Column)).Select
Selection.AutoFilter
Selection.AutoFilter
' Sélection et copie de la dernière ligne non vide
ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.R ows.Count).EntireRow.Select
Selection.Copy
' Sélection et colle la première ligne vide
ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.R ows.Count + 1).EntireRow.Select
With Selection
.Copy
.SpecialCells(xlCellTypeConstants, 3).ClearContents
End With
' Protection
ActiveSheet.Protect ("toto"), AllowInsertingRows:=False, AllowFiltering:=True
End Sub
-------------------
Merci d'avance,
rom3210