Autres macro-excel-pour-ajouter-une-ligne juste après la dernière ligne de mon tableau -avec-conservation-des formules et formats

Ayem

XLDnaute Nouveau
Bonjour,

Depuis quelques semaines je suis bloqué par rapport à la création d’un macro excel qui pourrait me permettre d’ajouter automatiquement à la fin de la derniere ligne de montableau une ligne tout en conservant les formules et les formats des lignes precedentes sans les valeurs évidemment . C’est dans le cadre d’un projet personnel et je ne m’y connais pas encore trop bien en Macro
Au fait j’ai créé juste en dessus de mon tableau un bouton ‘ Ajouter une ligne en dessous’’ , bouton auquel j’ai affecté le macro en question. Donc l’idée serait de pouvoir ajouter automatiquement à chaque après la tote dernière ligne du tableau une nouvelle ligne tout en conservant la mise en forme et les formules (sans recopier les valeurs de la ligne précédente). En cherchant plusieurs jours sur le net j’ai pu trouver le macro ci dessous mais ce dernier ajoute effectivement la ligne après la dernière ligne de mon tableau mais par contre supprime toutes les
Voici le macro en question:

Sub Ajouteruneligneendessousventes()

Range(« A5 »).CurrentRegion.Rows(Range(« A5 »).CurrentRegion.Rows.Count).Copy
Range(« A65536 »).End(xlUp).Offset(1, 0).PasteSpecial
Selection.ClearContents

End Sub
. J’espère trouver réponse ici.
Merci d’avance !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Ayem,
Un essai en PJ avec :
VB:
Sub Ajouteruneligneendessousventes()
Sheets("Feuil1").Range("A1:Z1").Copy Destination:=Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1)
Sheets("Feuil1").Range("A" & Rows.Count & ":Z" & Rows.Count).End(xlUp).ClearContents
End Sub
Pour en insérer une seconde il faut que la dernière cellule en A soit remplie.
 

Pièces jointes

  • Classeur01.xlsm
    15.3 KB · Affichages: 10

Ayem

XLDnaute Nouveau
Bonsoir Sylvanu. Merci beaucoup pour ta réponse. Je pense que ta solution pourrait surement marcher. J'ai essayé de la mettre en pratique mais hélas j'y suis toujours pas parvenu (parce que je suis vraiment un débutant surement). Je voudrais bien t'envoyer mon fichier excel un peu comme tu l'as fait en haut pour que tu puisses m'aider directement si possible, mais je ne sais pas comment m'y prendre pour l'envoyer ici. Si tu pourrais me dire comment procéder ça m'aiderait vraiment. Merci encore
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,

pourquoi ne pas transformer ta plage en Tableau via le menu Insertion ?
Ensuite excel fait tout seul ce que tu as besoin : tu démarres une saisie sur la ligne suivante et excel copie formules et format sur la nouvelle ligne crée.
eric

PS : je viens de regarder ton fichier, tu l'as déjà fait.
Saisi 2 en A7, Tab pour passer à la cellule suivante et tu peux voir que tout ce qui t'intéresse est ramené sans macro.
 

Ayem

XLDnaute Nouveau
Bonsoir Eric,
merci effectivement cela marche très bien aussi. Mon objectif était de proposer un fichier Excel le plus intuitif possible. je tenais à créer un Macro pour pouvoir se diriger plus facilement à la dernière ligne enregistrée (Plutôt que de défiler les lignes avec le curseur) et créer par la mme occasion une nouvelle ligne , le tout en un seul clic. Mais ta solution est également très utile. Merci beaucoup !
 

eriiic

XLDnaute Barbatruc
Si tes n° sont consécutifs et que tu tiens à une macro, tu peux ajouter la nouvelle ligne en mettant le n° automatiquement et en te positionnant sur la date (que tu pourrais mettre en auto aussi si c'est la date du jour) :
VB:
Sub Ajouteruneligneendessousventes()
    Dim lig As Long
    lig = Cells(Rows.Count, 1).End(xlUp).Row + 1
    Cells(lig, 1) = Cells(lig - 1, 1) + 1
    Cells(lig, 2).Select
End Sub
eric
 

Ayem

XLDnaute Nouveau
Merci beaucoup Eric. C'est exactement ce que je cherchais depuis des semaines! J'ai essayé ta solution et cela marche super bien! Merci encore
j'adore aussi l'idée de la date du jour automatique, et si ce n'est pas trop abusé j'aimerais savoir comment faire pour ajouter cela?
 

Discussions similaires

Haut Bas