Bonjour,
Range("test").Address = XY
Range("A1").Value = Range("XY").Value
n'a pas de sens en vba 
Range("test").Address = XY
, n'a pas de sens tu ne peux pas attibuer une adresse à une cellule qui a un nom, mais attribuer un nom à une cellule, oui, la déplacer ensuite, oui aussi (ce qui au niveau code revient à faire un couper-coller) et dans lequel cas, la propriété Address (en lecture seule) de l'objet range retournera la bonne adresse à chaque fois.
Range("A1").Value = Range("XY").Value
veut dire que A1 prend la valeur de la cellule qui se nomme XY ...
car la cellule nommée "test" peut être dénommée par la suite, et je voudrais
que A1 garde sa valeur quoiqu'il arrive
c'est ambigüe, si on considère que ce que tu veux est que A1 garde la valeur de la cellule qui a porté le nom de test à un moment donné, il faut faire ainsi :
vois ainsi peut-être selon ton but..
1 2 3 4 5 6 7 8 9 10
| Sub soluceDVP()
Dim strmavariable As String
'à l'instant voulu, tu mémorise l'adresse de test
strmavariable = Range("test").Address 'ou = Range("test").Address(RowAbsolute:=False,ColumnAbsolute:=False)
'Tu alimentes A1 en fonction de cette adresse et non en fonction du nom, donc si le nom change d'adresse
'et que tu met à jour A1, elle prndra la valeur de la cellule qui a pour adresse strmavariable, qui
'a correspondue à un instant T à l cellule ayant pour nom test !
Range("A1").Value = Range(strmavariable)
End Sub |
cordialement,
Didier
Partager