Testez une sélection dans Excel VBA
Ce programme dans Excel VBA utilise la propriété Count, ISNUMERIC, fonction IsEmpty et méthode Intersect pour tester une sélection.
Situation:
Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivant:
-
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
-
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
-
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.
-
Tester le programme.
Seulement lorsque vous sélectionnez un numéro unique dans la gamme bordait le résultat sera:
Dans tous les autres cas, le résultat sera: