Ce programme dans Excel VBA utilise la propriété Count, ISNUMERIC, fonction IsEmpty et méthode Intersect pour tester une sélection.

Situation:

Test a Selection in Excel VBA

Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivant:

  1. Tout d’abord, nous déclarons deux objets Range. Nous appelons les objets Range RNG et la cellule.

Dim rng As Range, cell As Range
  1. Nous initialisons l’objet Range RNG avec Range ( « C4: D10 ») et la cellule d’objet Range avec la plage sélectionnée.

Set rng = Range("C4:D10")

Set cell = Selection
  1. Ajoutez les lignes de code suivantes:

If cell.Count = 1 And IsNumeric(cell) And Not IsEmpty(cell) And Not Intersect(rng, cell) Is Nothing Then

MsgBox "You win"

Else

MsgBox "You lose"

End If

Explication: Intersection (rng, cellule) renvoie un objet Range qui représente la lien: / vba-exemples-union-intersection [intersection] des deux gammes. Si cet objet gamme n’est pas rien, le seul numéro (trois premières conditions) est dans la plage bordée.

  1. Tester le programme.

Seulement lorsque vous sélectionnez un numéro unique dans la gamme bordait le résultat sera:

Test a Selection Result

Dans tous les autres cas, le résultat sera:

Test a Selection Result