XL 2016 Macro pour Ajouter automatiquement une ligne au dessous de la derniére ligne d'un tableau

Ayem

XLDnaute Nouveau
Bonjour à tous
J’ai un petit problème concernant les macros sur Excel(Je tiens à préciser que je maîtrise pas dutout le Vba)
Sur une feuille Excel j’ai créé deux tableaux un pour l’enregistrement journalier des ventes et un deuxième pour les Dépenses. J’ai créé au dessus de chaque tableau un bouton associé à un macro qui me permettrait d’ajouter à chaque fois une nouvelle ligne( renseignant automatiquement le numéro de l’opération et la date du jour) tout juste en dessous de la dernière ligne du tableau . Ensuite pour le tableau des dépenses également j’ai voulu recopier et coller le même Vba pour mon macro (qui allait faire pareil que le macro du tableau des ventes) pour ce tableau .
Mais le problème est que lorsque je clique sur le bouton ajouter une ligne qui est au dessus du tableau des dépenses, la ligne ajoutée se retrouve tout juste en bas du tableau des ventes plutôt. Je ne sais pas trop comment faire vu que je ne m’y connais pas vraiment en Vba
Merci
 

Pièces jointes

  • EXCEL VENTES et DEPENSES.xlsm
    34.2 KB · Affichages: 24
Solution
Bonsoir Ayem,

C'est normal ta macro Ajouterunelignedépenses reste sur les mêmes colonnes que ta macro initiale.
Cells(1,1) correspond à A1.
Le premier 1 correspond à la ligne, le deuxième à la colonne.

Donc dans ta macro
Cells(Rows.Count, 1), Cells(lig, 1), Cells(lig, 2) et Cells(lig, 3)
Première ligne vide de la colonne 1 (soit10), A10, B10 et C10

il faut utiliser
VB:
Sub Ajouterunelignedépenses()
  Dim lig As Long
    lig = Cells(Rows.Count, 16).End(xlUp).Row + 1
   Cells(lig, 16) = Cells(lig - 1, 1) + 1
   Cells(lig, 17) = Date
   Cells(lig, 18).Select
End Sub

Cells(Rows.Count, 16) =
première ligne vide de la colonne 16 (P) soit 7, P7, Q7et R7

Cordialement.

goube

XLDnaute Impliqué
Bonsoir Ayem,

C'est normal ta macro Ajouterunelignedépenses reste sur les mêmes colonnes que ta macro initiale.
Cells(1,1) correspond à A1.
Le premier 1 correspond à la ligne, le deuxième à la colonne.

Donc dans ta macro
Cells(Rows.Count, 1), Cells(lig, 1), Cells(lig, 2) et Cells(lig, 3)
Première ligne vide de la colonne 1 (soit10), A10, B10 et C10

il faut utiliser
VB:
Sub Ajouterunelignedépenses()
  Dim lig As Long
    lig = Cells(Rows.Count, 16).End(xlUp).Row + 1
   Cells(lig, 16) = Cells(lig - 1, 1) + 1
   Cells(lig, 17) = Date
   Cells(lig, 18).Select
End Sub

Cells(Rows.Count, 16) =
première ligne vide de la colonne 16 (P) soit 7, P7, Q7et R7

Cordialement.
 

Discussions similaires

F
Réponses
15
Affichages
688
F
Haut Bas