Comment obtenir une plage de cellules sélectionnée via la souris de l'utilisateur pour un traitement ultérieur à l'aide de VBA?
Vous pouvez parcourir 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
Selection
est son propre objet dans VBA. Cela fonctionne beaucoup comme un objet Range
.
Selection et Range ne partagent pas toutes les mêmes propriétés et méthodes, cependant, pour une facilité d'utilisation, il peut être judicieux de créer une plage et de la définir égale à la Sélection. Vous pourrez alors la traiter par programmation comme toute autre plage.
Dim myRange as Range
Set myRange = Selection
Pour en savoir plus, consultez le article MSDN .
Cela dépend de ce que vous entendez par "obtenir la plage de sélection". Si vous voulez obtenir la plage address (comme "A1: B1"), utilisez la propriété Address de l'objet Selection. Comme Michael l'a déclaré, l'objet Selection ressemble beaucoup à un objet Range. La plupart des propriétés et méthodes fonctionnent ainsi: il.
Sub test()
Dim myString As String
myString = Selection.Address
End Sub