Message box

tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
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. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    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.
    0
  2. tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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.
      0
    2. tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      il me met encore erreur de syntaxe en soulignant next else
      0
    3. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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
      0
    4. tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      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")"
      =/
      0
    5. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      rep = MsgBox("Etes-vous sûr de vouloir supprimer le client?", vbYesNo)
      ;)

      On va finir par y arriver ^^
      0
  3. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    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.
    0
  4. tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
     
    0
    1. tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      la suppression du client marchait avant qu'on fasse des modifs

      Cordialement.
      0
    2. tocnic Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
       
      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.
      0