OVH Cloud OVH Cloud

Selection change

4 réponses
Avatar
Christian Raoux
Salut la liste

Dans une macro VBA d'un feuille

Sub Worksheet_SelectionChange(ByVal Target As Range)

je voudrai savoir quel était la cellule selectioner avant le changement

Ex : Si la Cellule A1 était selectionner et que l'utilisateur est allé en
C10 , j'aimerai conserver en mémoire A1 sous la forme
A = Cell.Row B = Cell.Column de A1

merci d'avance

Christian

4 réponses

Avatar
Denis Michon
Bonjour Christian,

Tu déclares une variable dans le haut de ton module feuille


Dim MaCell As Range

'-------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MaCell = Target

End Sub
'-------------------


à chaque fois que tu cliques dans une cellule, la variable MaCell conserve en mémoire la cellule qui était sélectionnée
jusqu'au moment où tu vas en sélectionner une autre.


Salutations!



"Christian Raoux" a écrit dans le message de
news:
Salut la liste

Dans une macro VBA d'un feuille

Sub Worksheet_SelectionChange(ByVal Target As Range)

je voudrai savoir quel était la cellule selectioner avant le changement

Ex : Si la Cellule A1 était selectionner et que l'utilisateur est allé en
C10 , j'aimerai conserver en mémoire A1 sous la forme
A = Cell.Row B = Cell.Column de A1

merci d'avance

Christian
Avatar
ru-th
Salut

avec dans un module standard
Public A, B

dans le module de la feuille concernée
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If A <> "" Then MsgBox "la ligne précédente était " & A & " la colonne " & B
A = ActiveCell.Row
B = ActiveCell.Column
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Christian Raoux" a écrit dans le message de news:

Salut la liste

Dans une macro VBA d'un feuille

Sub Worksheet_SelectionChange(ByVal Target As Range)

je voudrai savoir quel était la cellule selectioner avant le changement

Ex : Si la Cellule A1 était selectionner et que l'utilisateur est allé en
C10 , j'aimerai conserver en mémoire A1 sous la forme
A = Cell.Row B = Cell.Column de A1

merci d'avance

Christian


Avatar
AV
Perso, je ne vois pas d'autre solution que de mémoriser, à l'ouverture du
classeur, la position de la cellule active de la feuille concernée

Dans un module ordinaire :
Public mémo

Sub auto_open()
Sheets("Feuil1").Select
mémo = ActiveCell.Address
End Sub

Dans le module de la feuille :
Private Sub Worksheet_SelectionChange(ByVal zz As Range)
MsgBox "Sélection précédente : " & mémo
MsgBox "Sélection actuelle : " & zz.Address
mémo = zz.Address
End Sub

ou pour répondre plus précisément à ta question :

Private Sub Worksheet_SelectionChange(ByVal zz As Range)
MsgBox zz.Row
MsgBox Range(mémo).Column
mémo = zz.Address
End Sub

AV
Avatar
Christian Raoux
Merci à tous

Christian

Christian Raoux écrivait
news::

Salut la liste

Dans une macro VBA d'un feuille

Sub Worksheet_SelectionChange(ByVal Target As Range)

je voudrai savoir quel était la cellule selectioner avant le
changement

Ex : Si la Cellule A1 était selectionner et que l'utilisateur est allé
en C10 , j'aimerai conserver en mémoire A1 sous la forme
A = Cell.Row B = Cell.Column de A1

merci d'avance

Christian