Eh oui, le ".value" a disparu (je suis infichu de vous dire pourquoi) sans que cela gêne le fonctionnement.
J'ai un peu cherché sur le net pour savoir s'il y a une différence entre les deux. Mais j'ai juste trouvé Ce lien n'existe plus :
Code:
La propriété par défaut de l'objet range est sa valeur (value). Si la cellule A1 contient Salut !,
MaVariable = range("A1")
'est équivalent à
'MaVariable = Range("A1").value
et renvoie Salut !.
Donc l'effet est le même avec ou sans le ".value"
Je voudrais savoir quel "danger" peut entraîner une généralisation de l'emploi de la version sans ".value" (car je me doute bien que sémantiquement, le ".value" est nécessaire pour remplir l’intérieur de la range).
Re : Utiliser ou non le ".value" pour remplir une cellule ?
Bonjour G.Milano, bonjour le forum,
Value est la propriété par défaut pour une donnée de type Range. Donc mettre ou ne pas mettre le .Value ne change rien si ce n'est permettre de mieux comprendre à un novice qui lira ton code...
Bien dit ! Approuvé !
Même si le basic de Bill est laxiste et tolère beaucoup d'à peu près, il est préférable de ne pas trop en profiter. Mieux vaut être précis : ça oblige à savoir exactement ce que l'on veut.
Sub test()
Sheets(Range("B3")).[A1] = "C'est tout bon."
End Sub
Sub testval()
Sheets(Range("B3").Value).[A1] = "C'est tout bon."
End Sub
Sub testval2()
Sheets(Range("B3").Value).[A1].Value = "C'est tout bon."
End Sub
Re : Utiliser ou non le ".value" pour remplir une cellule ?
Bonjour.
Le danger c'est de se retrouver un beau jour dans un cas où il considère l'objet Range alors qu'on pensait uniquement à sa propriété Value.
Comme par exemple quand on l'ajoute comme Item à un Dictionary
Il vaut mieux dire à VBA ce qu'on pense vouloir lui faire faire: ce n'est pas à lui de décider !
Cordialement