Bonjour,

Je souhaite supprimer une ligne d'enregistrement de ma base de donnée à l'aide de la macro suivante qui propose 2 questions à l'utilisateur:
Question 1: "Souhaitez vous supprimer une ligne"?
Question 2: "Positionnez votre curseur sur la ligne à supprimer"
Résultat: suppression de la ligne
Possibilité de sortir (choix "Non" ou "Annuler")

Cela marche pour:
- Sortir sur "Nonn" à la première question
- Supprimer la ligne : cela ses déroule bien si je ne clique que sur "Oui" aux 2 questions. (C'est déjà ça!)

Ca plante pour le cas "Annuler"
Je pense que mon problème vient de la déclaration de variable MyCell qui ne renvoie False (booleén) dans un cas et une adreesse de cellule dans l'autre cas (Range)

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub SupprimerEnregistrement()
 
Dim MyCell As Range
 
    choix1 = MsgBox("Voulez-vous supprimer un enregistrement ?", 36, "Confirmation")
 
    If choix1 = vbNo Then
    MsgBox "C'est enregistré!"
    Else
      Set MyCell = Application.InputBox( _
      prompt:="Positionnez votre curseur sur la ligne à supprimer", Type:=8)
      If MyCell = False Then
      MsgBox "OK!"
      Else
      MyCell.EntireRow.Select
      Selection.Delete Shift:=xlUp
      End If
 
    End If
 
End Sub

Quelqu'un saurait-il m'aider?...


Merci beaucoup !