Bonjour,
j'ai une macro où je demande à l'utilisateur de sélectionner une cellule.

Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Dim Cellule_Article_Manu As Range
 
'On demande à l'utilisateur de sélectionner la cellule cible
        On Error GoTo Annul
            Set Cellule_Article_Manu = Application.InputBox(prompt:="Sélectionnez où insérer l'article ajouté manuellement.", Title:="Insérer un article manuel", Type:=8)
 
        With Cellule_Article_Manu
            'On vérifie que la cellule sélectionnée est conforme
            If .Column <> 2 Then
                MsgBox prompt:="Vous devez insérer l'article dans la colonne 'B'.", Title:="Erreur: Insérer un article manuel"
            ElseIf .Value <> "" Then
                MsgBox prompt:="Vous devez insérer l'article dans une ligne vide.", Title:="Erreur: Insérer un article manuel"
            ElseIf .HasFormula = True Then
                MsgBox prompt:="Vous devez insérer l'article dans une cellule sans formule.", Title:="Erreur: Insérer un article manuel"
            Else
                'Les règles de validité pour la cellule cible sont bonnes, donc on demande de saisir le code article
                Code_Article = ""
                While Code_Article = ""
                    Code_Article = InputBox(prompt:="Veuillez saisir le code de l'article à insérer.", Title:="Insérer un article manuel")
                Wend
                Insertion_OK = True
            End If
        End With
Et comme les personnes pour qui je développe sont assez peu rigoureuses, je souhaite effectuer tous les contrôles pour m'assurer qu'aucune erreur n'est oubliée.

Dans mes tests, j'ai pu constater que Application.InputBox de type 8 renvoie la même erreur '424: Objet requis' dans ces trois cas:
1- Si je clique sur "Annuler" (ça c'est normal)
2- Si je change de feuille avant de sélectionner ma cible (???)
3- Si je scrolle dans ma feuille avant de sélectionner ma cible (encore ???)

Ma question:
Est-ce que quelqu'un peut m'expliquer à quoi c'est dû (pour les erreurs 2 et 3) et comment je peux différencier 1 et 2, et aussi passer outre 3?

Merci d'avance,
Thomas