Gérer les boutons de InputBox

Bonjour,

Je suis novice en VBA Excel et je cherche à pouvoir gérer la sélection des boutons d'une boîte de dialogue InputBox.

Je saisi une donnée dans l'espace prévu à cette effet.

Je fais "OK" => la donnée va dans une cellule

Je fais "Annuler" => je ferme la boîte de dialogue

Bonsoir,

Si j'ai compris ta demande

Sub test()
    Range("a1") = InputBox("entrez votre donnée: ", "réponse")
End Sub

Bonsoir et merci de la réponse.

Oui

Mais comment gérer les boutons "OK" où la documentation va dans la cellule et "Annuler" et là la boîte de dialogue se ferme avec la documentation

Salut JeanF, M12,

en rendant visite à mon ami Google, j'ai lu qu'il y avait une belle différence entre :

  • la fonction InputBox et
  • la méthode Application.InputBox
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Do
    Réponse = Application.InputBox("Entrez votre donnée", "INPUTBOX")
    If Réponse = False Then
        MsgBox "bouton annuler"
        Exit Sub
    End If
    If Réponse = "" Then MsgBox "une réponse, svp!"
Loop Until Réponse <> ""
Range("A1") = Réponse
'
End Sub

A approfondir...

A+

Bonjour curulis57 et merci de la réponse.

Mon problème est que je n'arrive pas à appeler la procédure privée d'une autre procédure

J'ai donc fait une procédure publique selon votre exemple.

Fichier joint

Bonjour,

Etant novice en VBA Excel et après recherche dans livres, net, plusieurs essais, je n'arrive pas a appeler la procédure suivante d'une autre procédure :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Do
    Réponse = Application.InputBox("Entrez votre donnée", "INPUTBOX")
    If Réponse = False Then
        MsgBox "bouton annuler"
        Exit Sub
    End If
    If Réponse = "" Then MsgBox "une réponse, svp!"
Loop Until Réponse <> ""
Range("A1") = Réponse
'
End Sub
 

Salut Jean,

mais si, c'est facile...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
'ta procédure...
'
Call Encodage
'
End Sub

Public Sub Encodage()
'
Do
    Réponse = Application.InputBox("Entrez votre donnée", "INPUTBOX")
    If Réponse = False Then
        MsgBox "bouton annuler"
        Exit Sub
    End If
    If Réponse = "" Then MsgBox "une réponse, svp!"
Loop Until Réponse <> ""
Range("A1") = Réponse
'
End Sub

L'imagination au pouvoir!

A+

Bonsoir curukis57

Merci de la réponse

Rechercher des sujets similaires à "gerer boutons inputbox"