Macro pour ajout et recopie 1 ligne en bas d'un tableau

  • Initiateur de la discussion Initiateur de la discussion Joel50
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Joel50

XLDnaute Nouveau
Bonjour
Sur le fichier joint je souhaiterai créer une macro qui ajoute une ligne en bas d'un tableau et y recopie automatiquement la précédente, sachant que je devrai appliquer cette fonction à plusieurs tableaux de largeurs différentes et y rajouter d'autres colonnes par la suite, la commande ne doit donc pas être limitée en largeur.

Après quelques recherches et l'utilisation de l'enregistreur je suis arrivé à 2 solutions dont aucune ne ma satisfait.
La macro nommée "ajout" me crée bien une ligne en dessous du tableau mais n'agrandit pas le tableau, les formules des autres feuilles basées sur le tableau ne fonctionne plus.
La macro nommée "ajout2" agrandis bien la tableau, par contre étant fixée (je ne sais pas si c'est le bon terme) au lignes 19 et 20, elle ne présente aucun intérêt. De plus elle incrémente automatiquement la date ( et d'autres cellules dont mon tableau sur mon document original) ce que je ne souhaite pas.

La cerise sur le gâteau serait que je puisse saisir automatiquement une date, qui n'est pas forcément la date du jour mais la même pour toutes les feuilles d'un même classeur dans la "colonne A" de toute les lignes qui viennent d'être ajoutés.

Merci de votre aide
Joël
 

Pièces jointes

Re : Macro pour ajout et recopie 1 ligne en bas d'un tableau

Re,

Plus fluide comme vous dites, pour simplement copier la dernière ligne sur la suivante :

Code:
Sub Macro1()
'Touche de raccourci du clavier: Ctrl+a
Dim a, i As Byte
a = Array("Data_Système", "Data_lait", "Data_Troupeau", "Data_Ration", "Data_Compta")
For i = 0 To UBound(a)
  With Sheets(a(i)).ListObjects(1).Range
    .Rows(.Rows.Count).Copy .Rows(.Rows.Count + 1)
  End With
Next
End Sub
La macro suppose qu'il y a un seul tableau par feuille, si ce n'est pas le cas utiliser un 2ème "Array".

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour