Message box

Bonjour,

J'aimerai afficher un message à l'utilisateur "Etes-vous sûr de vouloir supprimer le client? avec deux réponses possibles
oui et non
clik sur oui : le client est effectivement supprimer,
clik sur non: le client n'est pas supprimer
j'ai tenté ce code mais vba m'indique une erreur de synthaxe

Quelqu'un peut-il m'expliquer ?

Private Sub Suppr_client_Click()

Dim rep As Long

rep = MsgBox("Etes-vous sûr de vouloir supprimer le client?", VbOKYes, "oui", VbOKNo, "non")

If rep = VbOKYes Then

ligne = 3
While Worksheets("Listedesclients").Cells(ligne, 1).Value <> listSupprimer_client.Value
ligne = ligne + 1
Wend
'La macro fait faire une boucle à partir de la deuxième ligne, 1ère colonne jusqu'à la nième ligne, 1ère colonne
'La boucle s'arrete lorsqu'elle retrouve dans le contenu de la cellule la même valeur que la va leur sélectionnée dans la liste
For J = 1 To 2
'Pour les colonnes allant de 1 à 2
Worksheets("listedesclients").Cells(ligne, J).Delete xlUp
'Supprime le contenu de la cellule située la ligne qui correspond à la
'valeur cherchée plus haut et décale vers le haut
End If rep = VbOKNo Then
Exit Sub

End Sub

4 réponses

  1. Contributeur
    Bonjour,

    remplacer
    End If rep = VbOKNo Then  
    Exit Sub 
    par
    Else
    Exit Sub  
    End If


    Cordialement.
    Ce mec la n'était pas une lumière, car il était niais.
    1. Merci pour la réponse
      un nouveau message d'erreur s'affiche cette fois et me dit "Else sans if"

      Private Sub Suppr_client_Click()

      Dim rep As Long

      rep = MsgBox("Etes-vous sûr de vouloir supprimer le client?", VbOKYes, "oui", VbOKNo, "non")

      If rep = VbOKYes Then

      ligne = 3
      While Worksheets("Listedesclients").Cells(ligne, 1).Value <> listSupprimer_client.Value
      ligne = ligne + 1
      Wend
      'La macro fait faire une boucle à partir de la deuxième ligne, 1ère colonne jusqu'à la nième ligne, 1ère colonne
      'La boucle s'arrete lorsqu'elle retrouve dans le contenu de la cellule la même valeur que la va leur sélectionnée dans la liste
      For J = 1 To 2
      'Pour les colonnes allant de 1 à 2
      Worksheets("listedesclients").Cells(ligne, J).Delete xlUp
      'Supprime le contenu de la cellule située la ligne qui correspond à la
      'valeur cherchée plus haut et décale vers le haut
      Else
      Exit Sub
      End If

      End Sub
      1. Contributeur
        C'est ta boucle For qui pose problème, elle ne comporte pas de Next.
        Mets un Next avant le else et ça devrait régler le problème.

        Cordialement.
      2. il me met encore erreur de syntaxe en soulignant next else
      3. Contributeur
        Next et Else ne doivent pas être sur la même ligne.
        Private Sub Suppr_client_Click() 
        
        Dim rep As Long 
        
        rep = MsgBox("Etes-vous sûr de vouloir supprimer le client?", VbOKYes, "oui", VbOKNo, "non") 
        
        If rep = VbOKYes Then 
           ligne = 3 
           While Worksheets("Listedesclients").Cells(ligne, 1).Value <> listSupprimer_client.Value 
              ligne = ligne + 1 
           Wend 
        'La macro fait faire une boucle à partir de la deuxième ligne, 1ère colonne jusqu'à la nième ligne, 1ère colonne 
        'La boucle s'arrete lorsqu'elle retrouve dans le contenu de la cellule la même valeur que la va leur sélectionnée dans la liste 
           For J = 1 To 2 
        'Pour les colonnes allant de 1 à 2 
              Worksheets("listedesclients").Cells(ligne, J).Delete xlUp 
        'Supprime le contenu de la cellule située la ligne qui correspond à la 
        'valeur cherchée plus haut et décale vers le haut 
           Next
        Else 
           Exit Sub 
        End If 
        
        End Sub
      4. merci!
        maintenant il me met incompatibilité de type en soulignant ça "rep = MsgBox("Etes-vous sûr de vouloir supprimer le client?", VbOKYes, "oui", VbOKNo, "non")"
        =/
      5. Contributeur
        rep = MsgBox("Etes-vous sûr de vouloir supprimer le client?", vbYesNo)
        ;)

        On va finir par y arriver ^^
    2. Contributeur
      Bonjour,

      peux tu publier ton fichier ? si oui, dépose le sur cjoint.com, et copie le lien créé dans une réponse à cette discussion.

      sans voir le fichier, difficile de dire pourquoi ça ne supprime pas ton client en question.

      Cordialement.
        1. la suppression du client marchait avant qu'on fasse des modifs

          Cordialement.
        2. j'ai écrit Option Explicit
          et il m'indique Instruction Incorrecte dans une procédure mais je n'arrive pas à voir d'où ça vient.