Création nouvelle ligne dans à la fin des deux tableau dans deux feuilles

Bonjour pour tous les membres

Je suis nouveau ici, je veux une aide

j'ai crée un bon tableau "Tableau4" pour la saisi du journal des factures fournisseurs, avec un bon suivi détaillé,

J'ai donc créée une macro via le Bouton "cmdInsertrow" qui permet d'ajouter une nouvelle ligne à la fin du tableau4 dans la feuille " JOURNAL 01-2022".

Aussi j'ai créé un nouveau tableau "Tableau5" dans une nouvelle feuille " RECAP 01-2022" qui est une copie de ce 1er tableau4, mais seulement avec les données qui m’intéresses pour l'impression

Je souhaite donc qu'en appuyant sur le Bouton "cmdInsertrow" une nouvelle ligne à la fin du tableau4 dans la feuille " JOURNAL 01-2022" se créée puis une nouvelle ligne à la fin du tableau "Tableau5" de la nouvelle feuille " RECAP 01-2022" au même position.

Voici le code que j'ai fais, seulement la fonction bloque au niveau de la sélection de la ligne dans la feuille " JOURNAL 01-2022". :

Private Sub cmdInsertRow_Click()
Dim lr As ListRow
With Me.ListObjects("Tableau4")
Set lr = .ListRows.Add
lr.Range.Cells(1).Select
End With
End Sub

Hello,

A tester comme ceci :

    Worksheets("JOURNAL 01-2022").ListObjects("Tableau4").ListRows.Add
    Worksheets("RECAP 01-2022").ListObjects("Tableau5").ListRows.Add

Merci beaucoup beaucoup

vraiment je suis comptant de votre réponse , le code fonctionner tres bien

possible SVPL de me réviser le 2ème bouton "CommandButton2", et le 3ème Bouton "CommandButton1" pour le même principe (fonctionner dans les deux tableau en même temps.

le code que j'ai utilise pour le bouton "CommandButton2"

Private Sub CommandButton2_Click()
Dim wsR2 As Worksheet
Set wsR2 = ThisWorkbook.Sheets("JOURNAL 01-2022")
lastrow = wsR2.ListObjects("Tableau4").Range.Rows.Count
Rows(lastrow).Delete

le code que j'ai utilise pour le bouton "CommandButton2"

Private Sub CommandButton1_Click()
Dim rowNum As Integer
On Error Resume Next
rowNum = Application.InputBox(Prompt:="Enter Row Number where you want to Delete a row:", _
Title:="Kutools for excel", Type:=1)
Rows(rowNum & ":" & rowNum).Delete Shift:=xlDown
End Sub

Pour supprimer la dernière ligne des 2 tableaux (Le + 1 est en fonction des en-têtes) :

dim ligne as long
lastrow= (WorkSheets("JOURNAL 01-2022").ListObjects("Tableau4").Range.Rows.Count) + 1
WorkSheets("JOURNAL 01-2022").Rows(lastrow).Delete
WorkSheets("RECAP 01-2022").Rows(lastrow).Delete

Et pour supprimer une/plusieurs ligne(s) en particulier :

Dim rowNum As Integer
On Error Resume Next
rowNum = Application.InputBox(Prompt:="Enter Row Number where you want to Delete a row:", _
Title:="Kutools for excel", Type:=1)
WorkSheets("JOURNAL 01-2022").Rows(rowNum & ":" & rowNum).Delete Shift:=xlDown
WorkSheets("RECAP 01-2022").Rows(rowNum & ":" & rowNum).Delete Shift:=xlDown
Merci beaucoup
J'ai passé beaucoup de temps à chercher sur internet mais je n'ai pas trouvé
Maintenant, le fichier fonctionne comme je le voulais
Merci, maintenant je peux compléter le  de la fichier même manière pour le reste des mois

bonsoir,

pour effacer une ligne d'un tableau, il ne faut pas effacer la ligne entière de cette feuille (c'est different quand on veut effacer multiple lignes)

Sub Delete_Ligne()
     With Range("Tableau").ListObject     'nom de votre tableau dans thisworkbook
          .ListRows(.ListRows.Count).Range.Delete     'delete dernière ligne
          .ListRows(7).Range.Delete     'delete une autre ligne, par exemple 7
     End With
End Sub

Bonsoir,

Merci pour votre message

je pence que votre code est pour la suppression de la même ligne, toujours ce code supprime la même ligne ? comme dans votre exemple la ligne 7 ?

bonjour,

avec un tableau, ce n'est pas nécessaire de supprimer toute la ligne de la feuille, c'est même dangeureux quand il y a des choses important à côté du tableau. Autre point avec un delete, il n'y a pas de shift:=xldown.

ceci est une macro avec toute sorte de situations, donc, il faut copier et coller ce qu'on veut

Sub teste()
     With Range("Tableau4").ListObject

     'AJOUTER UNE LIGNE
          .ListRows.Add     'dernière ligne

          rowNum = Application.InputBox("A quelle ligne voulez vous les faire ?" & vbLf & "supprimer=0", UCase("Ajouter une ligne au tableau"), Type:=1)
          If 1 <= rowNum And rowNum <= .ListRows.Count Then
               .ListRows.Add rowNum
          Else
               If rowNum <> 0 Then MsgBox "erreur", vbCritical
          End If

     'SUPPRIMER UNE LIGNE
          If .ListRows.Count > 0 Then .ListRows(.ListRows.Count).Delete   'dernière ligne

          rowNum = Application.InputBox("Quelle ligne" & vbLf & "supprimer=0", UCase("supprimer une ligne du tableau"), Type:=1)
          If 1 <= rowNum And rowNum <= .ListRows.Count Then
               .ListRows(rowNum).Delete
          Else
               If rowNum <> 0 Then MsgBox "erreur", vbCritical
          End If

     'VIDER LE TABLEAU
          If .ListRows.Count > 0 Then .DataBodyRange.Delete

     End With

     'METHODE RAPIDE
     Range("Tableau4").ListObject.ListRows.Add

     'AVEC VARIABLE
     Set lo = Range("Tableau4").ListObject
     '......tout sorte de lignes
     lo.ListRows.Add

End Sub

Bonsoir

Maintenant je comprend bien votre aide, c'est vrais , heureusement dans ma feuille il n y pas d'autre donner en dehors de mon tableau, mais vraiment votre aidée très importante, je v'ai la essayer dans une autre feuille puisque je suis encore débitant dans les vba

Merci

Rechercher des sujets similaires à "creation nouvelle ligne fin deux tableau feuilles"