XL 2016 [VBA] sélectionner une zone flottante

F22Raptor

XLDnaute Impliqué
Hello,
Dans Excel, je peux sélectionner une zone en sélectionnant A15 par exemple, et en maintenant la touche MAJ appuyée, et remonter avec la flèche haute de 3 crans, ce qui me donnera A13;A15

Dans VBA, si je fais un Range("A15").Offset(-3,0), il va simplement me sélectionner A13
Et si je veux A13:A15, il me faut faire :
range(range("A15") , range("A15").offset(-3,0))

Y a t il un moyen plus direct, qui fasse l' "offset avec la touche MAJ", comme pour la sélection directe sur la feuille ?

Merci !
 

PMO2

XLDnaute Accro
Bonjour,

Pas sûr d'avoir compris ce que vous voulez ???
Essayez la démarche suivante :
1) copiez le code suivant dans la fenêtre de code de ThisWorkbook
VB:
Private Sub Workbook_Activate()
If ActiveSheet.Name = "test" Then Application.OnKey "^+{p}", "aa"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "^+{p}", ""
End Sub

2) copiez le code suivant dans la fenêtre de code de la feuille concernée
VB:
Private Sub Workbook_Activate()
If ActiveSheet.Name = "test" Then Application.OnKey "^+{p}", "aa"
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "^+{p}", ""
End Sub

3) copiez le code suivant dans un module standard
VB:
Sub aa()
Dim R As Range
If TypeName(Selection) <> "Range" Then Exit Sub
Set R = Selection
If R.Rows.Count <> 1 Or R.Columns.Count <> 1 Then Exit Sub
On Error Resume Next
Set R = Application.Union(R, R.Offset(-1, 0), R.Offset(-2, 0))
If Err <> 0 Then Exit Sub
On Error GoTo 0
R.Select
End Sub
 

Pièces jointes

  • sélectionner une zone flottante.xlsm
    18.5 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16