utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

  • Initiateur de la discussion Initiateur de la discussion Goufra
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Goufra

XLDnaute Occasionnel
Bonjour à vous j’ai besoin de vos lumières ,
Je n’arrive pas à trouver la solution à mon problème.

J’utilise une Application.Inputbox type 8 avec Select case msgbox

Dans ce cas
Le bouton annuler de l’Inputbox renvoie « faux » dans la Msgbox.

Comment obtenir exit sub pour sortir de l’application avant l’apparition de la Msgbox et éviter ainsi d’obtenir éventuellement « Faux » dans la cellule de référence

Merci à vous
Cordialités xeliennes
 

Pièces jointes

Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Bonjour Goufra,

peut-être comme ça ?

Code:
Sub test()
Dim choix As String
'
choix = Application.InputBox("Choisissez votre couleur" & Chr(10) & "" & Chr(10) & "Cliquer sur une cellule de c5 à c9" & Chr(10) & "" & Chr(10) & "puis sur OK", "Gestion des couleurs", Type:=8)
[COLOR=red]If choix = "Faux" Then Exit Sub[/COLOR]
  Select Case MsgBox("Vous avez choisi" & Chr(10) & "" & Chr(10) & "la couleur : " & choix & Chr(10) & "" & Chr(10) & "souhaitez-vous continuer ?", vbYesNo, "Confirmation ")
        Case vbNo
        Exit Sub
        Case vbYes
            Select Case MsgBox("Confirmez - vous ce choix ?", vbYesNo, "Autoriser une nouvelle session")
            Case vbNo
               Exit Sub
            Case vbYes
            [a1] = choix
                    End Select
        End Select

End Sub
 
Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Bonjour,

Code:
Vérifie si l’opérateur n'a pas cliqué sur Annuler

On Error Resume Next
Set monchamp = Application.InputBox(prompt:="Choisissez un champ", Type:=8)
If Err = 0 Then
  On Error GoTo 0
  For Each i In monchamp
    i.Value = UCase(i.Value)
  Next i
End If

JB
Formation Excel VBA JB
 
Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Bonjour et merci à tototiti 2008, jb et pierrejean,

La réponse tototiti ne fonctionne pas, on débouche sur faux et la msgbox

JB navré mais j’obtiens la msgbox .

La réponse de Pierrejean répond à ma demande.

Toutefois, puis-je jouer les casse-pieds ?
Pour le « fun » et pour creuser le problème je cherche une réponse liée à l’inputbox qui arrête la macro, sans l’astuce du if qui appartient à la la msgbox.

Encore merci à vous trois.
G.
 
Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Re

Voici une version (test2) sans If
Mais en fait l'astuce consiste surtout a bien voir que le 2eme choix (reponse a confirmation) ne peut etre que Vbyes ou false mais en aucun cas la couleur choisie
d'ou le
couleur = choix
Qui me parait etre essentiel
Une autre façon d'operer serait d'avoir une autre variable (choix2 par exemple) pour savoir si oui ou non on inscrit le 1er choix dans A1
 

Pièces jointes

Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Re

Je confirme que la macro de Tototiti fonctionne
En ce qui me concerne j'avais effectué un raccourci en ne proposant qu'une msgbox apres l'inputbox (et pas la meilleure )
Voir le fichier joint
 

Pièces jointes

Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

bonsoir à vous deux,
Merci pierrejean pour tes explications et ta confirmation par l'exemple.

J'avais trouvé la solution préconisée par tototiti enfin presque j'avais tout bêtement écrit "if ..." une ligne au dessus de "choix= .... "
j'étais persuadé de mon erreur ! ...
Quel étourdi je fais.
Bref je vous dois le café ... , je vous présente mes excuses et je vous remercie pour votre patience.
cordialement.
G
 
Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Bonjour,j'ai presque le même problème à la différence que j'utilise un Set et quand je clique sur le bouton "Annuler" j'obtiens une erreur 424 "Objet requis".
J'aimerais obtenir un msgbox "Opération annulée"
Voici le code:
Dim Plage As Range
With selection
DéfautSelect = selection.Address
End With

Set Plage = Application.InputBox("Sélectionnez une plage !" & Chr(10) & _
"Ou sélection actuelle (Défaut) ?", "Inversion itinéraire", DéfautSelect, Left:=10, Top:=100, Type:=8)

If Plage Is Nothing Then MsgBox "Sélection annulée"

Pouvez-vous m'aider ?
 
Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Bonjour jlgi

une solution:

Code:
Sub test()
Dim Plage As Range
With Selection
DéfautSelect = Selection.Address
End With
On Error Resume Next
Set Plage = Application.InputBox("Sélectionnez une plage !" & Chr(10) & _
"Ou sélection actuelle (Défaut) ?", "Inversion itinéraire", DéfautSelect, Left:=10, Top:=100, Type:=8)
If Err.Number <> 0 Then
  MsgBox "Sélection annulée"
End If
On Error GoTo 0
End Sub
 
Re : utilisa tion de "Annuler" Application.Inputbox type 8 msgbox

Bonjour pierrejean,
merci pour ta réponse
Je vais me replonger dans mon appli pour comprendre ta réponse.
Comme quoi le temps s'efface avec excel downloads !
bonne journée ensoleillée
goufra
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
879
G
Réponses
2
Affichages
616
gaelle31
G
D
Réponses
14
Affichages
2 K
P
  • Question Question
Réponses
1
Affichages
3 K
Patrosso
P
B
Réponses
2
Affichages
2 K
bastienb
B
V
Réponses
2
Affichages
2 K
vynmarius
V
D
Réponses
3
Affichages
736
dalab113
D
Retour