Supprimer une ligne avec un bouton
SOSO
-
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14930 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
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.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-
-
Bonjour,
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 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