Récupère La Plage Sélectionnée Par L'Utilisateur
Comment puis-je obtenir une plage de cellules sélectionnées via l'entrée de la souris utilisateur pour un traitement ultérieur en utilisant VBA?
3 réponses
Vous pouvez parcourir l'objet Selection 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. Il fonctionne un peu comme un objet Range
.
La sélection et la plage ne partagent pas toutes les mêmes propriétés et méthodes, donc pour faciliter l'utilisation, il peut être logique de créer une plage et de la définir égale à la sélection, alors vous pouvez la gérer par programme comme n'importe quelle autre plage.
Dim myRange as Range
Set myRange = Selection
Pour en savoir plus, consultez l'article MSDN .
Cela dépend de ce que vous entendez par "obtenir la plage de sélection". Si vous voulez dire obtenir la plage adresse (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, donc la plupart des propriétés et méthodes y travaillent.
Sub test()
Dim myString As String
myString = Selection.Address
End Sub