Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 suppression d'une ligne avec un bouton

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

  • Classeur2.xlsm
    16.2 KB · Affichages: 4
Solution
Bonjour Phil,
Merci pour votre aide , ça correspond vraiment à mon attente tout fonctionne très bien .
Mic 1952

job75

XLDnaute Barbatruc
Bonsoir Mimi1952,

Dans le code de la feuille :
VB:
Private Sub CommandButton1_Click()
If Not Intersect(ActiveCell, [T_BDD]) Is Nothing Then Intersect(ActiveCell.EntireRow, [T_BDD]).Delete xlUp
End Sub
A+
 

Pièces jointes

  • Classeur2.xlsm
    20.2 KB · Affichages: 5

mapomme

XLDnaute Barbatruc
Supporter XLD
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:

job75

XLDnaute Barbatruc
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

  • Classeur2.xlsm
    21.6 KB · Affichages: 2

job75

XLDnaute Barbatruc
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

  • Classeur2.xlsm
    22 KB · Affichages: 0

Mimi1952

XLDnaute Occasionnel
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
 

Mimi1952

XLDnaute Occasionnel
Bonjour Phil,
Merci pour votre aide , ça correspond vraiment à mon attente tout fonctionne très bien .
Mic 1952
 

Discussions similaires

Réponses
2
Affichages
342
Réponses
2
Affichages
207
Réponses
3
Affichages
281
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…