Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

coordonnées de la cellule qui vient d'être changée

4 réponses
Avatar
seb
Bonjour,

Je cherche à connaître les coordonnées, Row et Column, de la cellule que je
viens de modifier.
Pour ce faire je compte utiliser Worksheet_SelectionChange,

c = ActiveCell.Column
r = ActiveCell.row

Cependant comme la cellule dont je viens de changer la valeur est validée
soit par enter soit par une flêche de déplacement, j'obtiens les coordonnées
d'une cellule contigue.

Y-aurait-il un moyen de garder les coordonnées de la cellule initiale ?


Merci de vos suggestions.

seb

4 réponses

Avatar
Philippe.R
Bonjour,
Il vaudrait mieux utiliser l'évènement change, auquel cas Target.address
reverra ces coordonnées au moment du changement (juste après)
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"seb" a écrit dans le message de
news:49195877$0$30695$
Bonjour,

Je cherche à connaître les coordonnées, Row et Column, de la cellule que
je viens de modifier.
Pour ce faire je compte utiliser Worksheet_SelectionChange,

c = ActiveCell.Column
r = ActiveCell.row

Cependant comme la cellule dont je viens de changer la valeur est validée
soit par enter soit par une flêche de déplacement, j'obtiens les
coordonnées d'une cellule contigue.

Y-aurait-il un moyen de garder les coordonnées de la cellule initiale ?


Merci de vos suggestions.

seb



Avatar
seb
Bonjour Philippe,

Merci pour la réponse, cela fonctionne comme souhaité,

Private Sub Worksheet_Change(ByVal Target As Range)
r = Range(Target.Address).Cells.Row
c = Range(Target.Address).Cells.Column

v = Cells(r, c)

If v >= 0 And v <= 1 Then
Cells(r, c) = Cells(1, 1) * v
Cells(r, c).NumberFormat = "#,##0"
End If
End Sub

seb
Avatar
Philippe.R
Re,
Il me semble que tu dois pouvoir simplifier avec :
r = Target.Row
c = Target.Column
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"seb" a écrit dans le message de
news:4919c486$0$24598$
Bonjour Philippe,

Merci pour la réponse, cela fonctionne comme souhaité,

Private Sub Worksheet_Change(ByVal Target As Range)
r = Range(Target.Address).Cells.Row
c = Range(Target.Address).Cells.Column

v = Cells(r, c)

If v >= 0 And v <= 1 Then
Cells(r, c) = Cells(1, 1) * v
Cells(r, c).NumberFormat = "#,##0"
End If
End Sub

seb



Avatar
seb
Exact, cela fonctionne et c'est mieux que c=Target.Adress.Column qui
décidement ne fonctionnait pas :o)

Merci

seb