Message box

Fermé
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013 - 4 janv. 2013 à 16:39
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013 - 5 janv. 2013 à 11:44
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

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
Modifié par chossette9 le 4/01/2013 à 16:45
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
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013
4 janv. 2013 à 17:01
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
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
4 janv. 2013 à 17:04
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
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013
4 janv. 2013 à 17:13
il me met encore erreur de syntaxe en soulignant next else
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
4 janv. 2013 à 17:27
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
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013
4 janv. 2013 à 17:32
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
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
4 janv. 2013 à 17:37
rep = MsgBox("Etes-vous sûr de vouloir supprimer le client?", vbYesNo)
;)

On va finir par y arriver ^^
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
4 janv. 2013 à 17:52
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
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013
4 janv. 2013 à 18:01
0
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013
4 janv. 2013 à 18:02
la suppression du client marchait avant qu'on fasse des modifs

Cordialement.
0
tocnic Messages postés 8 Date d'inscription vendredi 4 janvier 2013 Statut Membre Dernière intervention 5 janvier 2013
5 janv. 2013 à 11:44
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