Bonjour
Je suppose que c'est votre code Ajouter qui est concerné par votre demande.
Vous êtes en Tableau Structuré, donc voici déjà une petit lien explicatif réalisé par Thev et qui devrait vous aider à comprendre --> VBA - Tableaux structurés
1. Désactivez cette ligne
last_Row = Application.WorksheetFunction.CountA(sh.Range("A:A"))
2. Remplacez ces lignes
' Ajout Automatique d'un numéro => ID
sh.Range("A" & last_Row + 1).Value = "=Row()-1"
' Ajout des données dans chaque colonne correspondant
sh.Range("B" & last_Row + 1).Value = Me.CivBox.Value
sh.Range("C" & last_Row + 1).Value = Me.NomBox.Value
sh.Range("D" & last_Row + 1).Value = Me.PrenomBox.Value
sh.Range("E" & last_Row + 1).Value = Me.AgeBox.Value
sh.Range("F" & last_Row + 1).Value = Me.MailBox.Value
sh.Range("G" & last_Row + 1).Value = Me.TelBox.Value
par ceci
With sh.ListObjects("TBLTEST")
If .ListRows.Count = 0 Then
.ListRows.Add: last_Row = 1
Else: .ListRows.Add: last_Row = .ListRows.Count 'insérer à la dernière ligne
End If
With .DataBodyRange
' Ajout Automatique d'un numéro => ID
.Item(last_Row, 1) = "=Row()"
' Ajout des données dans chaque colonne correspondant
.Item(last_Row, 2) = Me.CivBox.Value
.Item(last_Row, 3) = Me.NomBox.Value
.Item(last_Row, 1) = Me.PrenomBox.Value
'....
End With
End With
Pour supprimer les données de votre tableau structuré, sélectionnez les données dans la tableau structuré (attention par la ligne de la feuille mais uniquement les données), puis click droite , choisir Supprimer --> Lignes de Tableau (vous devez absolument voir l'option "Lignes de tableau")
Rem : je vois que vous utilisez l'instruction Rowsource. A éviter, cette instruction provoque parfois des soucis. Préférez toujours soit la méthode LIST ou ADDITEM
Cordialement