Supprimer une ligne avec un bouton
SOSO
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je sais que plusieurs sujets ont été créés à ce sujet mais je ne trouve pas comment faire ce que je souhaite.
Voila j'ai une base de donnée où la première colonne est un matricule. Je voudrais rattacher une macro à un bouton pour que lorsque l'on clique dessus un message apparaisse demandant "quel matricule supprimer ?" et que la ligne correspondant au matricule saisi soit effacée.
Comment faire ?
Merci d'avance pour votre aide
Je sais que plusieurs sujets ont été créés à ce sujet mais je ne trouve pas comment faire ce que je souhaite.
Voila j'ai une base de donnée où la première colonne est un matricule. Je voudrais rattacher une macro à un bouton pour que lorsque l'on clique dessus un message apparaisse demandant "quel matricule supprimer ?" et que la ligne correspondant au matricule saisi soit effacée.
Comment faire ?
Merci d'avance pour votre aide
A voir également:
- Supprimer une ligne avec un bouton
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Partager photos en ligne - Guide
- Impossible de supprimer un fichier - Guide
- Comment supprimer une ligne dans un tableau word - Guide
2 réponses
Bonjour,
Pourquoi compliquer ?
Avec cette macro dans le code de la feuille et un double clic sur la ligne à supprimer, cela fonctionne.
Pourquoi compliquer ?
Avec cette macro dans le code de la feuille et un double clic sur la ligne à supprimer, cela fonctionne.
Private Sub Worksheet_BeforeDoubleClick(ByVal sel As Range, Cancel As Boolean)
If vbYes = MsgBox("Voulez-vous supprimer " & sel.Value, vbYesNo, "Suppression matricule") Then
Rows(sel.Row).Delete
End If
End Sub
Private Sub CommandButton1_Click()
result= MsgBox("Saisissez le matricule à supprimer", ,"Suppression matricule")
If rep = "" Then Exit Sub
Set cel = ActiveSheet.Columns(1).Find(rep, [A1], xlValues, xlWhole)
If cel Is Nothing Then
MsgBox "Matricule absent"
Else
Rows(cel.Row).Delete
MsgBox "Matricule supprimé : " & rep
End If
'on peut passer par la fonction find
Sub exemple()
'Activation de la feuille 1
Sheets("Feuil1").Activate
'Sélection de la cellule A8
'Range("A8").Select
Cells.Find(What:="result", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
End Sub
ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete
End Sub
Ce ne sont juste que des pistes
result= MsgBox("Saisissez le matricule à supprimer", ,"Suppression matricule")
If rep = "" Then Exit Sub
Set cel = ActiveSheet.Columns(1).Find(rep, [A1], xlValues, xlWhole)
If cel Is Nothing Then
MsgBox "Matricule absent"
Else
Rows(cel.Row).Delete
MsgBox "Matricule supprimé : " & rep
End If
'on peut passer par la fonction find
Sub exemple()
'Activation de la feuille 1
Sheets("Feuil1").Activate
'Sélection de la cellule A8
'Range("A8").Select
Cells.Find(What:="result", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
End Sub
ActiveSheet.Rows(ActiveCell.Row).EntireRow.Delete
End Sub
Ce ne sont juste que des pistes
Merci pour votre réponse, effectivement ca pourrait marcher comme ca. Le soucis c'est que pour l'usage prévu de ce fichier il serait plus simple de procéder avec un bouton.
Ou bien alors peut être une case où on saisirait le matricule et ensuite un bouton supprimer ?
Si tu tiens à compliquer, tu crées un bouton avec ce code :
Private Sub CommandButton1_Click() Dim rep As Variant, cel As Range rep = InputBox("Saisissez le matricule à supprimer", "Suppression matricule") If rep = "" Then Exit Sub Set cel = ActiveSheet.Columns(1).Find(rep, [A1], xlValues, xlWhole) If cel Is Nothing Then MsgBox "Matricule absent" Else Rows(cel.Row).Delete MsgBox "Matricule supprimé : " & rep End If End SubCa a marché nickel, juste ce que je voulais, merci beaucoup
tu remplaces par