Bonjour,
j'ai une macro où je demande à l'utilisateur de sélectionner une cellule.
Voici le code:
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
Partager