3 conditions IF selon valeur d'une InputBox
Salut!
J'ai une macro qui est censée effacer une ligne choisie (dans RowNum).
J'essaie de poser plusieurs conditions :
si RowNum est vide et on appuie sur OK --> message erreur
si RowNum n'est pas un chiffre (Not IsNumeric) et on appuie sur ok --> message erreur
si RowNum est 3 (on ne peut pas effacer la ligne 3) et on appuie sur OK --> message erreur
De plus, je n'arrive pas à faire que si on appuie sur le bouton Cancel de L'inputBox (c'est à dire si on veut fermer l'écran sans rien écrire en numéro de ligne), ça doit tout simplement interrompre la macro.
Mais je ne sais pas comment écrire une condition - un truc dans le genre if response = vbNo then exit sub (ça marche pour un message mais pas pour une InputBox)
je vous met le bout de code en question:
Msg = "Vous êtes sur le point d'effacer une ligne. Voulez-vous continuer ?"
Dialogstyle = vbQuestion + vbYesNo
Title = " "
RESPONSE = MsgBox(Msg, Dialogstyle, Title)
If RESPONSE = vbNo Then
Exit Sub
End If
If RESPONSE = vbYes Then
Dim RowNum As Long
RowNum = InputBox("Quelle ligne voulez-vous effacer? Attention: il s'agit du numéro de la ligne d'Excel et non du numéro d'ordre.")
Else
End If
If RowNum = 3 Then
MsgBox "Il n'est pas possible d'effacer la première ligne à l'aide de ce bouton.", vbOKOnly, "Erreur"
Exit Sub
Else
End If
If RowNum = " " Then
MsgBox "Vous n'avez pas choisis de ligne à effacer! L'action est interrompue! ", vbOKOnly, "Erreur"
Exit Sub
Else
End If
If Not IsNumeric(RowNum) Then
MsgBox "Ce n'est pas un numéro! L'action est interrompue! ", vbOKOnly, "Erreur"
Exit Sub
Else
End If
bonjour,
une proposition de correction
Msg = "Vous êtes sur le point d'effacer une ligne. Voulez-vous continuer ?"
Dialogstyle = vbQuestion + vbYesNo
Title = " "
RESPONSE = MsgBox(Msg, Dialogstyle, Title)
If RESPONSE = vbNo Then Exit Sub
RowNum = ""
RowNum = InputBox("Quelle ligne voulez-vous effacer? Attention: il s'agit du numéro de la ligne d'Excel et non du numéro d'ordre.")
If RowNum = "" Then
MsgBox "Vous n'avez pas choisi de ligne à effacer! L'action est interrompue! ", vbOKOnly, "Erreur"
Exit Sub
ElseIf Not IsNumeric(RowNum) Then
MsgBox "Ce n'est pas un numéro! L'action est interrompue! ", vbOKOnly, "Erreur"
Exit Sub
Else
RowNum = Val(RowNum)
If RowNum = 3 Then
MsgBox "Il n'est pas possible d'effacer la première ligne à l'aide de ce bouton.", vbOKOnly, "Erreur"
Exit Sub
End If
End Ifgenial!!
tout marche!! merci:))