Ajouter automatiquement ligne en haut ou en bas de tableau

gourdin

XLDnaute Impliqué
Bonjour

J’ai nommé un tableau « mon_tableau » que despersonnes non initiées doivent compléter

Je souhaite qu’en cliquant sur un bouton « ajouter ligne en BAS » une ligne se rajoute après la dernière ligne (en restant intégré à « mon_tableau »)

Et avec un bouton « ajouter ligne en HAUT » une ligne se rajoute en HAUT en dessous de la ligne de titre (en restant intégré à « mon_tableau »)

Cf exemple

Merci
 

Pièces jointes

  • Exemple.xls
    15.5 KB · Affichages: 139
  • Exemple.xls
    15.5 KB · Affichages: 157
  • Exemple.xls
    15.5 KB · Affichages: 157

skoobi

XLDnaute Barbatruc
Re : Ajouter automatiquement ligne en haut ou en bas de tableau

Bonjour gourdin,

un exemple en pièce jointe.
 

Pièces jointes

  • Copie de Exemple.zip
    7.4 KB · Affichages: 215
  • Copie de Exemple.zip
    7.4 KB · Affichages: 238
  • Copie de Exemple.zip
    7.4 KB · Affichages: 231

gourdin

XLDnaute Impliqué
Re : Ajouter automatiquement ligne en haut ou en bas de tableau

Merci,

Mais si la dernière ligne est remplie l'ajout de la ligne ajoute aussi son contenu.

Quand au code crée pour mon exemple (ci-après) placé pour AJOUTER une ligne en haut, je voudrais l'adapter à mon vrai tableau et comprendre un peu

Sub AJOUT_LIGNE_HAUT()
Range(Range("mon_tableau")(5), Range("mon_tableau")(8)).Insert xlShiftDown, xlFormatFromRightOrBelow
Range(Range("mon_tableau")(9), Range("mon_tableau")(12)).Copy
Range(Range("mon_tableau")(5), Range("mon_tableau")(8)).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End Sub

Merci
 

skoobi

XLDnaute Barbatruc
Re : Ajouter automatiquement ligne en haut ou en bas de tableau

Re Bonjour,

Pour faire ce code je me base sur le principe des cellules relatives à une plage.
Par exemple, B3 de la plage A1:B10 peut s'identifier de 2 manières.
Par sa position relative: Range("A1:B10")(6)
Par ses coordonnées relatives: Range("A1:B10")(3,2)

Ce qui donne:

Code:
'De la 5eme à la 8eme cellule relative à "mon_tableau"
Range(Range("mon_tableau")(5), Range("mon_tableau")(8)).Insert xlShiftDown, xlFormatFromRightOrBelow
......
.......
Mais si la dernière ligne est remplie l'ajout de la ligne ajoute aussi son contenu.
Dans ce cas il suffit de vider cette ligne créée avec .Clear. Je te laisse trouver le code.
 

Discussions similaires

Statistiques des forums

Discussions
312 240
Messages
2 086 514
Membres
103 239
dernier inscrit
wari