Macro xls. pour ajout de ligne en fin de tableau
Résolu/Fermé
Er'icare
-
Modifié par crapoulou le 19/09/2016 à 17:26
beneric27 Messages postés 7 Date d'inscription lundi 19 septembre 2016 Statut Membre Dernière intervention 21 février 2017 - 20 sept. 2016 à 18:55
beneric27 Messages postés 7 Date d'inscription lundi 19 septembre 2016 Statut Membre Dernière intervention 21 février 2017 - 20 sept. 2016 à 18:55
A voir également:
- Vba ajouter une ligne à la fin d'un tableau
- Tableau croisé dynamique - Guide
- Aller à la ligne excel - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
1 réponse
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
19 sept. 2016 à 22:04
19 sept. 2016 à 22:04
Bonjour,
Comme ceci si j'ai compris ton désir :
Comme ceci si j'ai compris ton désir :
Sub ajout_ligne() Application.ScreenUpdating = False Dim ligne_max As Long With ActiveSheet .Unprotect ligne_max = .UsedRange.Rows.Count .Rows(ligne_max).Resize(2).FillDown .Cells(ligne_max + 1, 2).ClearContents Range("A20").Select ' .protect ' on reprotège si l'on a déprotégé End With Application.ScreenUpdating = True End Sub
19 sept. 2016 à 23:50
Application.ScreenUpdating = False
ActiveSheet.Unprotect
ligne_max = Range("FF1").Value (FF1:compteur incrémenté par le dernier indice de ligne +20, car 20 lignes non utilisées)
Range("A20").Select (ligne vierge à copier)
Selection.End(xlDown).Select
Range(Selection, Cells(ActiveCell.Row, 162)).Select (copie de la ligne jusqu'à la colonne 162)
Selection.Copy
Cells(ligne_max + 1, 1).Select (colle les cellules copier sous la cellule qui a le plus grand indice)
ActiveSheet.Paste
Range(Cells(ligne_max + 1, 2), Cells(ligne_max + 1, 2)).Select
Selection.ClearContents
Range("A20").Select
Application.ScreenUpdating = True
End Sub
Ce ne sont pas les cellules de A20 à FD20 (la 162ème cellules de la ligne) qui sont copiées mais les cellules Ax à FDx de l'indice de ligne x+20 (car indice commençant à 1 en ligne 21)pour créer les cellules Ax+21 à FDx+21 (ligne_max+1)
je ne pense pas qu'il s'agisse d'un problème de protection.
20 sept. 2016 à 18:53
20 sept. 2016 à 18:55