InputBox bouton Annuler

Bonjour à vous tous,

J'ai le même problème sur mon programme. Je m'explique.

Quand j'appuie sur Ok au lieu d'Annuler, le programme saute toutes les lignes d'instructions ! C'est comme s'il confirmait le End Sub (instruction du vbCancel).

Help Please !

Code :

Sub Rename_Sheets()                                             ' Nommer la feuille générée
    Dim NomProjet As String
    NomProjet = Application.InputBox("Veuillez renseigner le nom du projet")
    Select Case NomProjet
        Case Is = vbCancel
            Exit Sub
        Case Is = vbOK
            Instructions ....
    End Select
End Sub

Bonne soirée à toutes et à tous.

Bonjour,

Il ne faut pas confondre MsgBox et InputBox

Ton test Case Is = vbOK exécutera les instructions uniquement si tu entres le chiffre 1 (car vbOK = 1).

Une version simplifiée :

Sub Rename_Sheets()
    NomProjet = InputBox("Veuillez renseigner le nom du projet")
    If NomProjet = "" Then Exit Sub
    'Instructions si NomProjet renseigné ...
End Sub

Cordialement,

Bonjour Sébastien et merci pour ta réponse.

J'ai toujours un soucis, peut être de compréhension, - vu que ça fait longtemps que je n'ai pas touché au VBA - mais y'a-t-il une différence entre le cas où aucun nom n'est entré - mais en appuyant sur "OK" ou "valider" :

If NomProjet ="" then ...

Et celui où le bouton "Annuler" qui est appuyé. Est-ce le même cas de figure? j'entend par là, que le programme se compile comme si NomProjet est vide pour les deux cas?

Merci d'éclairer ma lanterne, je peine à trouver de solutions.

Bonne fin de journée.

OK renvoie le contenu du champ et Annuler renvoie "".

Si le champ est vide, les 2 boutons renverrons donc "".

Et si le champ n'est pas vide, OK renverra le nom et Annuler toujours "".

Cordialement,

Donc si j'ai bien compris, il ne faudra pas tenir compte du contenu du champ comme variable mais plutôt sur l'action sur le bouton OK et celui Annuler.

OK qui dirigera les instructions vers la lecture du champ et Annuler qui annulera la suite du programme et éventuellement fermer le projet en cours.

Si c'est bien ce qu'il faut faire, quelle sera la syntaxe des boutons OK et Annuler.

Merci bien.

Donc si j'ai bien compris, il ne faudra pas tenir compte du contenu du champ comme variable mais plutôt sur l'action sur le bouton OK et celui Annuler.

Pour faire simple, fais plutôt le contraire ... Tiens compte uniquement de la valeur retournée : non vide = OK / vide = Annuler (ou un OK sans valeur à ignorer).

Par contre si tu as réellement besoin de différencier la valeur vide du bouton OK et celle du bouton Annuler, il vaut probablement mieux passer par un UserForm personnalisé.

Je t'en ai fait un exemple vite fait :

usf
31kim4you.xlsm (13.48 Ko)

Merci Sébastien, je m'y penche sur le champ.

Rechercher des sujets similaires à "inputbox bouton annuler"