XL 2019 suppression d'une ligne avec un bouton

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 !

Mimi1952

XLDnaute Occasionnel
Bonsoir à tous,

j'ai un petit fichier test et je voudrais pourvoir supprimer une ligne quelque soit sa position
c'est-à-dire aussi bien en début , milieu ou fin de tableau et cela avec un bouton peut-être en vba.
merci pour votre aide.

mic52
 

Pièces jointes

Solution
Si l'on ne veut pas écrire en dur le nom du tableau on peut utiliser :
VB:
Private Sub CommandButton1_Click()
With ListObjects(1) 'tableau structuré
    If Intersect(ActiveCell, Range(.Name)) Is Nothing Then Exit Sub
    If MsgBox("Etes-vous sûr de vouloir supprimer cette ligne ?", vbYesNo + vbQuestion) = vbYes _
        Then Intersect(ActiveCell.EntireRow, .Range).Delete xlUp
End With
End Sub
Bonjour Phil,
Merci pour votre aide , ça correspond vraiment à mon attente tout fonctionne très bien .
Mic 1952
Bonsoir à tous 🙂,

Je ne vois pas bien le bénéfice de ce bouton alors qu'avec un clique-droit/supprimer natif, on peut parfaitement le faire avec comme avantage :
  • la suppression peut être annulée si on s'aperçoit qu'on s'est trompé de ligne
  • on peut supprimer plusieurs lignes en une seule fois (disjointes ou groupées) avec la sélection d'une cellule quelconque de chaque ligne à supprimer
  • on n'a pas pas besoin de faire défiler la feuille pour retrouver le bouton si le tableau structuré s'étend au-delà de la zone affichée contenant le bouton (sauf pour Dranreb qui gère ce point)
Cependant le demandeur est roi.
 
Dernière édition:
Bonjour le forum,
VB:
Private Sub CommandButton1_Click()
If Intersect(ActiveCell, [T_BDD]) Is Nothing Then Exit Sub
If MsgBox("Etes-vous sûr de vouloir supprimer cette ligne ?", vbYesNo + vbQuestion) = vbYes _
    Then Intersect(ActiveCell.EntireRow, [T_BDD]).Delete xlUp
End Sub
A+
 

Pièces jointes

Si l'on ne veut pas écrire en dur le nom du tableau on peut utiliser :
VB:
Private Sub CommandButton1_Click()
With ListObjects(1) 'tableau structuré
    If Intersect(ActiveCell, Range(.Name)) Is Nothing Then Exit Sub
    If MsgBox("Etes-vous sûr de vouloir supprimer cette ligne ?", vbYesNo + vbQuestion) = vbYes _
        Then Intersect(ActiveCell.EntireRow, .Range).Delete xlUp
End With
End Sub
 

Pièces jointes

Si l'on ne veut pas écrire en dur le nom du tableau on peut utiliser :
VB:
Private Sub CommandButton1_Click()
With ListObjects(1) 'tableau structuré
    If Intersect(ActiveCell, Range(.Name)) Is Nothing Then Exit Sub
    If MsgBox("Etes-vous sûr de vouloir supprimer cette ligne ?", vbYesNo + vbQuestion) = vbYes _
        Then Intersect(ActiveCell.EntireRow, .Range).Delete xlUp
End With
End Sub
Bonjour Job 75
Merci , pour cette aide sa fonctionne très bien .C'est sympa de votre part.
Je vous souhaite de très bonnes fêtes de fin d'année.
Mic 1952
 
Si l'on ne veut pas écrire en dur le nom du tableau on peut utiliser :
VB:
Private Sub CommandButton1_Click()
With ListObjects(1) 'tableau structuré
    If Intersect(ActiveCell, Range(.Name)) Is Nothing Then Exit Sub
    If MsgBox("Etes-vous sûr de vouloir supprimer cette ligne ?", vbYesNo + vbQuestion) = vbYes _
        Then Intersect(ActiveCell.EntireRow, .Range).Delete xlUp
End With
End Sub
Bonjour Phil,
Merci pour votre aide , ça correspond vraiment à mon attente tout fonctionne très bien .
Mic 1952
 
- 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