Gestion d'erreur sur Application.InputBox

Bonjour,

Je souhaite utiliser un UserForm avec 16 boutons pour compléter rapidement une ou des cellules choisies par l'utilisateur (via InputBox) entre F18 et F40.

Exemple : Si le bouton ActiveX "CommandButton1" est enabled = True , l'appui sur le CommandButton1 présent dans le UserForm va écrire "1 / 10" dans la ou les cellules sélectionnées.
Le code ci-dessous illustre l'appui sur le bouton1 du UserForm

Option Explicit

Private Sub CommandButton1_Click()

Application.DisplayAlerts = False

Dim Cel As Range
Set Cel = Application.InputBox("Sélectionnez une cellule !", Left:=(Application.Width / 2), Top:=(Application.Height / 2), Title:="Sélection de cellule(s)", Type:=8)

If ActiveSheet.CommandButton1.Enabled = True Then

    Cel.NumberFormat = "@"
    Cel = "1 / 10"

    With Cel
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With

    Unload Me

Else

    Cel.NumberFormat = "@"
    Cel = "1 / 16"

    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With

    Unload Me

End If

Application.DisplayAlerts = True

End Sub

Jouer avec Application.DisplayAlerts permet d'empêcher l'erreur si l'on appuie sur OK sans avoir saisi de range, mais je cherche à empêcher l'utilisateur de mettre la macro en erreur si il appuie sur ANNULER ou sur la croix pour fermer l'InputBox

Appuyer sur ANNULER ou la croix de fermeture de l'InputBox = Erreur '424' Objet Requis

Ayant regardé quelques forums sans avoir pu adapter de solution à mon besoin, je fais appel au forum

Merci d'avance

Bonsoir,

Pour le principe.

Cdlt.

Private Sub CommandButton1_Click()
Dim Cel As Range

    On Error GoTo errHandler

    Set Cel = Application.InputBox("Sélectionnez une cellule !", _
            Left:=(Application.Width / 2), _
            Top:=(Application.Height / 2), _
            Title:="Sélection de cellule(s)", _
            Type:=8)

    With Cel
        .NumberFormat = "@"
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With

    Cel.Value = IIf(Me.CommandButton1.Enabled = True, "1 / 10", "1 / 16")

errHandler:
    Exit Sub

End Sub

Merci Jean-Eric, c'est ce que je cherchais à faire

je passe le topic en résolu

Rechercher des sujets similaires à "gestion erreur application inputbox"