Comment puis-je obtenir une série de cellules sélectionnées par la souris de l'utilisateur pour un traitement ultérieur en utilisant VBA ?
Réponses
Trop de publicités?Selection
est son propre objet dans VBA. Il fonctionne à peu près comme un Range
objet.
Cependant, la sélection et la plage ne partagent pas toutes les mêmes propriétés et méthodes. Par conséquent, pour faciliter l'utilisation, il peut être judicieux de créer une plage et de la rendre égale à la sélection, puis de la traiter par programme comme n'importe quelle autre plage.
Dim myRange as Range
Set myRange = Selection
Pour en savoir plus, consultez le site Article de MSDN .
Vous pouvez parcourir en boucle l'objet Sélection pour voir ce qui a été sélectionné. Voici un extrait de code de Microsoft (http://msdn.microsoft.com/en-us/library/aa203726(office.11).aspx) :
Sub Count_Selection()
Dim cell As Object
Dim count As Integer
count = 0
For Each cell In Selection
count = count + 1
Next cell
MsgBox count & " item(s) selected"
End Sub
Cela dépend de ce que vous entendez par "obtenir la gamme de sélection". Si vous voulez dire obtenir la gamme adresse (comme "A1:B1"), utilisez alors la propriété Address de l'objet Selection - comme Michael l'a dit, l'objet Selection ressemble beaucoup à un objet Range, donc la plupart des propriétés et méthodes fonctionnent sur lui.
Sub test()
Dim myString As String
myString = Selection.Address
End Sub