Annuler inputbox

bonjour à tous

je travaille sur un fichier composé d'au moins une vingtaine d'inputbox les uns à la suite des autres.

Dans certains inputbox il est possible de rien avoir à saisir (exemple : numéro adhérent : si la personne n'est pas adhérente elle n'a pas de numéro)

Je souhaiterais en revanche que si l'utilisateur clique sur le bouton annuler, les inputbox suivants n'apparaissent pas et que la macro s'arrete immédiatement.

En clair je souhaite différencier un champ vide d'une inputbox par rapport à un clique sur le bouton annuler.

Ou encore comment créer un bouton "sortir" sur l'inputbox ou qlq chose du genre !

merci à tous pour votre aide

je mets un fixhier exemple en pièce jointe

bonne journée

69test.zip (6.97 Ko)

Bonjour,

un début de proposition ,mais mes connaissances en VBA sont limitées.

Teste et dis quoi.

A +

120test.zip (12.56 Ko)

Bonjour à tous,

Henri, ton code ne répond pas tout à fait à la demande de notre ami. En effet, il souhaiterait pouvoir intercepter l'annulation de chaque inputbox.

Mais pour ça, plutôt que d'utiliser la fonction InputBox, il faut utiliser la méthode Application.InputBox.

Voici une proposition :

Sub test()

Dim nom As Variant, prenom As Variant, num As Variant, tel As Variant

    nom = Application.InputBox("nom")
    If VarType(nom) = vbBoolean Then Exit Sub
    Range("A1") = nom

    prenom = Application.InputBox("prénom")
    If VarType(prenom) = vbBoolean Then Exit Sub
    Range("A2") = prenom

    num = Application.InputBox("Numéro adhérent")
    If VarType(num) = vbBoolean Then Exit Sub
    Range("A3") = num

    tel = Application.InputBox("tél portable")
    If VarType(tel) = vbBoolean Then Exit Sub
    With Range("A4")
        .NumberFormat = "@"
        .Value = tel
    End With

    'si la personne n'a pas de numéro d'adhérent, elle ne va rien saisir et on aura rien de saisi
    'en cellule A3. On passera alors à l'inputbox suivante (tél portable)
    'En revanche je voudrais que si la personne clique sur le bouton annuler de l'inputbox
    'ca quitte directement les inputbox (donc pas de saisie de l'inputbox suivante
End Sub

merci à vous deux,

je vais prendre vos deux propositions pour me faire la mienne, c'est à dire arrêter l'inputbox en cas de clique sur le bouton annuler mais également des infos préalablement saisie.

Si je comprend bien, vbBoolean correspond à la valeur à 0 donc excel sait que l'utilisateur a coché sur le bouton annuler, c'est ça ?

Merci

vbBoolean signifie que c'est une donnée de type booléen (Vrai ou Faux).

En l'occurrence, si on clique sur annuler ou sur la croix de fermeture de l'inputbox, la variable sera à Faux et non à 0. Donc variable de type booléen.

Avec la fonction InputBox précédente, un clic sur le bouton Annuler correspondait à une chaîne vide ("").

bonjour,

j'ai inséré le code et je l'ai légèrement modifié afin de sélectionner la page d'accueil si on clique sur le bouton annuler mais ca ne marche plus ! Si je rempli normalement une valeur ca ne se remplit pas.

Quelqu'un peut m'expliquer mon erreur ?

Merci

61exemple.zip (6.70 Ko)

Bonjour beuret,

Essaie comme ça :

Sub nouveau()
    Ligne = Range("A65536").End(xlUp).Row

    vnom = Application.InputBox("Nom membre responsable ?")
    If VarType(vnom) = vbBoolean Then Sheets("Accueil").Select: Exit Sub
    Range("A" & Ligne + 1) = vnom

    vprenom = Application.InputBox("Prénom membre responsable ?")
    If VarType(vprenom) = vbBoolean Then Sheets("Accueil").Select: Exit Sub
    Range("B" & Ligne + 1) = vnom
End Sub

ou comme ça :

Sub nouveau()
    Ligne = Range("A65536").End(xlUp).Row

    vnom = Application.InputBox("Nom membre responsable ?")
    If VarType(vnom) = vbBoolean Then
        Sheets("Accueil").Select
        Exit Sub
    End If
    Range("A" & Ligne + 1) = vnom

    vprenom = Application.InputBox("Prénom membre responsable ?")
    If VarType(vprenom) = vbBoolean Then
        Sheets("Accueil").Select
        Exit Sub
    End If
    Range("B" & Ligne + 1) = vnom
End Sub

il n'y avait pas grand chose en fait mais fallait savoir !

merci

Rechercher des sujets similaires à "annuler inputbox"