Detecter cancel sur l'inputbox

Contenu du snippet

Je n'ai peut-être pas suffisamment cherché, mais je n'ai pas vu de code expliquant comment on détectait l'appui sur Cancel dans une InputBox.
Car si on appuie sur OK avec une chaine vide, ou si on appuie sur Cancel, le retour de l'InputBox est le même : une chaine vide.

Seule la fonction StrPtr(), qui renvoie un pointeur sur chaine permet de savoir ce qui a réellement été renvoyé.
Pour une chaine vide, StrPtr(chaine)<>0
alors que si on appuie sur Cancel, on renvoie un pointeur nul.

Source / Exemple :


Dim sTemp As String

    sTemp = InputBox("Appuyer sur OK ou Cancel, mais sans taper de texte dans l'InputBox.")

    If StrPtr(sTemp) = 0 Then
       MsgBox "Vous avez appuyé sur Cancel."
    End If
    
    ' MsgBox sTemp ' aurait renvoyé une chaine vide quel
    ' que soit le bouton appuyé si on n'a rien entré dans l'InputBox.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.