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 If

genial!!

tout marche!! merci:))

Rechercher des sujets similaires à "conditions valeur inputbox"