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

  • Initiateur de la discussion Initiateur de la discussion Ayem
  • 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 !

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

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.
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.
 
- 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