Bonjour Frédéric,
Je suis d'accord avec toi sur la permissivité d'Excel lorsque
vient le temps de coder !
Dans le cas présent, Excel définit la propriété Evaluate :
"Cette méthode convertit un nom Microsoft Excel en un OBJECT ou une valeur"
En conséquence, je suppose que [A1] est converti en un OBJET RANGE. Si ce qui
précède est vrai, je suppose qu'il ne doit pas y avoir une très grande différence
entre :
Dim Rg as range
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Toutes ces présentations doivent avoir la même
propriété par défaut : "Value" puisqu'elle personnifie un objet "Range".
Dans le modèle objet Excel, je ne connais qu'un objet "Range".
Bonjour Frédéric,
Je suis d'accord avec toi sur la permissivité d'Excel lorsque
vient le temps de coder !
Dans le cas présent, Excel définit la propriété Evaluate :
"Cette méthode convertit un nom Microsoft Excel en un OBJECT ou une valeur"
En conséquence, je suppose que [A1] est converti en un OBJET RANGE. Si ce qui
précède est vrai, je suppose qu'il ne doit pas y avoir une très grande différence
entre :
Dim Rg as range
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Toutes ces présentations doivent avoir la même
propriété par défaut : "Value" puisqu'elle personnifie un objet "Range".
Dans le modèle objet Excel, je ne connais qu'un objet "Range".
Bonjour Frédéric,
Je suis d'accord avec toi sur la permissivité d'Excel lorsque
vient le temps de coder !
Dans le cas présent, Excel définit la propriété Evaluate :
"Cette méthode convertit un nom Microsoft Excel en un OBJECT ou une valeur"
En conséquence, je suppose que [A1] est converti en un OBJET RANGE. Si ce qui
précède est vrai, je suppose qu'il ne doit pas y avoir une très grande différence
entre :
Dim Rg as range
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Toutes ces présentations doivent avoir la même
propriété par défaut : "Value" puisqu'elle personnifie un objet "Range".
Dans le modèle objet Excel, je ne connais qu'un objet "Range".
En dernier lieu, j'ajouterai ceci :
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Si toutes ces présentations
personnifient un objet "Range", si quelqu'un arrive à la
conclusion que ces expressions sont "semblables", et bien
on devrait déduire que la déclaration des variables dans
une procédure est inutile puisque le code serait aussi efficace
et rapide qu'avec ou sans déclaration de celles-ci. C'est ce
que sous-entend l'expression "semblables"... Non ?
Si la variable Rg n'est pas déclarée et typée, elle ressemble à
[A1] puisqu'Excel "interprétera" ces objets au moment de
l'exécution du code. Ainsi en est-il des propriétés et méthodes
employées avec ces 2 expressions. Selon moi, cela va à l'encontre
des principes les plus élémentaires de programmation. Quand le
seul avantage de cette syntaxe "[A1]" se résume à la concision de
la saisie... c'est un peu court comme argument. Est-ce que la qualité
du code d'une procédure se résume au nombre de caractères utilisés ?
En dernier lieu, si quelqu'un a besoin de se convaincre de
l'utilité de déclarer les variables, John Walkenbach a commis
cette procédure à titre d'exemple. (ce ne sont pas des variables objet)
à exécuter avec et sans la déclaration des variables pour
voir la différence :
'--------------------------------------
Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub
'--------------------------------------
En dernier lieu, j'ajouterai ceci :
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Si toutes ces présentations
personnifient un objet "Range", si quelqu'un arrive à la
conclusion que ces expressions sont "semblables", et bien
on devrait déduire que la déclaration des variables dans
une procédure est inutile puisque le code serait aussi efficace
et rapide qu'avec ou sans déclaration de celles-ci. C'est ce
que sous-entend l'expression "semblables"... Non ?
Si la variable Rg n'est pas déclarée et typée, elle ressemble à
[A1] puisqu'Excel "interprétera" ces objets au moment de
l'exécution du code. Ainsi en est-il des propriétés et méthodes
employées avec ces 2 expressions. Selon moi, cela va à l'encontre
des principes les plus élémentaires de programmation. Quand le
seul avantage de cette syntaxe "[A1]" se résume à la concision de
la saisie... c'est un peu court comme argument. Est-ce que la qualité
du code d'une procédure se résume au nombre de caractères utilisés ?
En dernier lieu, si quelqu'un a besoin de se convaincre de
l'utilité de déclarer les variables, John Walkenbach a commis
cette procédure à titre d'exemple. (ce ne sont pas des variables objet)
à exécuter avec et sans la déclaration des variables pour
voir la différence :
'--------------------------------------
Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub
'--------------------------------------
En dernier lieu, j'ajouterai ceci :
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Si toutes ces présentations
personnifient un objet "Range", si quelqu'un arrive à la
conclusion que ces expressions sont "semblables", et bien
on devrait déduire que la déclaration des variables dans
une procédure est inutile puisque le code serait aussi efficace
et rapide qu'avec ou sans déclaration de celles-ci. C'est ce
que sous-entend l'expression "semblables"... Non ?
Si la variable Rg n'est pas déclarée et typée, elle ressemble à
[A1] puisqu'Excel "interprétera" ces objets au moment de
l'exécution du code. Ainsi en est-il des propriétés et méthodes
employées avec ces 2 expressions. Selon moi, cela va à l'encontre
des principes les plus élémentaires de programmation. Quand le
seul avantage de cette syntaxe "[A1]" se résume à la concision de
la saisie... c'est un peu court comme argument. Est-ce que la qualité
du code d'une procédure se résume au nombre de caractères utilisés ?
En dernier lieu, si quelqu'un a besoin de se convaincre de
l'utilité de déclarer les variables, John Walkenbach a commis
cette procédure à titre d'exemple. (ce ne sont pas des variables objet)
à exécuter avec et sans la déclaration des variables pour
voir la différence :
'--------------------------------------
Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub
'--------------------------------------
| Sub Rapide()
| [f10:f50009] = [2*row(1:50000)+1]
| End Sub
On peut très bien écrire :
range("f10:f50009") = [2*row(1:50000)+1]
Personne ne prétend à l'inutilité des crochets droits s'il s'agit
d'évaluer une formule !
Il me semble qu'évaluer une formule et personnifier un objet "range"
représente 2 choses totalement différentes.
On pourrait aussi faire usage de ceci :
'-----------------------------------------
Sub test()
Dim Rg As Range
With Feuil1
With .Range("G10:G50009")
.Formula = "=2*row(1:50000)+1"
.Value = .Value
End With
End With
End Sub
'-----------------------------------------
| Sub Rapide()
| [f10:f50009] = [2*row(1:50000)+1]
| End Sub
On peut très bien écrire :
range("f10:f50009") = [2*row(1:50000)+1]
Personne ne prétend à l'inutilité des crochets droits s'il s'agit
d'évaluer une formule !
Il me semble qu'évaluer une formule et personnifier un objet "range"
représente 2 choses totalement différentes.
On pourrait aussi faire usage de ceci :
'-----------------------------------------
Sub test()
Dim Rg As Range
With Feuil1
With .Range("G10:G50009")
.Formula = "=2*row(1:50000)+1"
.Value = .Value
End With
End With
End Sub
'-----------------------------------------
| Sub Rapide()
| [f10:f50009] = [2*row(1:50000)+1]
| End Sub
On peut très bien écrire :
range("f10:f50009") = [2*row(1:50000)+1]
Personne ne prétend à l'inutilité des crochets droits s'il s'agit
d'évaluer une formule !
Il me semble qu'évaluer une formule et personnifier un objet "range"
représente 2 choses totalement différentes.
On pourrait aussi faire usage de ceci :
'-----------------------------------------
Sub test()
Dim Rg As Range
With Feuil1
With .Range("G10:G50009")
.Formula = "=2*row(1:50000)+1"
.Value = .Value
End With
End With
End Sub
'-----------------------------------------
> On peut très bien écrire :
range("f10:f50009") = [2*row(1:50000)+1]
> On peut très bien écrire :
range("f10:f50009") = [2*row(1:50000)+1]
> On peut très bien écrire :
range("f10:f50009") = [2*row(1:50000)+1]
En dernier lieu, j'ajouterai ceci :
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Si toutes ces présentations
personnifient un objet "Range", si quelqu'un arrive à la
conclusion que ces expressions sont "semblables", et bien
on devrait déduire que la déclaration des variables dans
une procédure est inutile puisque le code serait aussi efficace
et rapide qu'avec ou sans déclaration de celles-ci. C'est ce
que sous-entend l'expression "semblables"... Non ?
Si la variable Rg n'est pas déclarée et typée, elle ressemble à
[A1] puisqu'Excel "interprétera" ces objets au moment de
l'exécution du code. Ainsi en est-il des propriétés et méthodes
employées avec ces 2 expressions. Selon moi, cela va à l'encontre
des principes les plus élémentaires de programmation. Quand le
seul avantage de cette syntaxe "[A1]" se résume à la concision de
la saisie... c'est un peu court comme argument. Est-ce que la qualité
du code d'une procédure se résume au nombre de caractères utilisés ?
En dernier lieu, si quelqu'un a besoin de se convaincre de
l'utilité de déclarer les variables, John Walkenbach a commis
cette procédure à titre d'exemple. (ce ne sont pas des variables objet)
à exécuter avec et sans la déclaration des variables pour
voir la différence :
'--------------------------------------
Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub
'--------------------------------------
En dernier lieu, j'ajouterai ceci :
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Si toutes ces présentations
personnifient un objet "Range", si quelqu'un arrive à la
conclusion que ces expressions sont "semblables", et bien
on devrait déduire que la déclaration des variables dans
une procédure est inutile puisque le code serait aussi efficace
et rapide qu'avec ou sans déclaration de celles-ci. C'est ce
que sous-entend l'expression "semblables"... Non ?
Si la variable Rg n'est pas déclarée et typée, elle ressemble à
[A1] puisqu'Excel "interprétera" ces objets au moment de
l'exécution du code. Ainsi en est-il des propriétés et méthodes
employées avec ces 2 expressions. Selon moi, cela va à l'encontre
des principes les plus élémentaires de programmation. Quand le
seul avantage de cette syntaxe "[A1]" se résume à la concision de
la saisie... c'est un peu court comme argument. Est-ce que la qualité
du code d'une procédure se résume au nombre de caractères utilisés ?
En dernier lieu, si quelqu'un a besoin de se convaincre de
l'utilité de déclarer les variables, John Walkenbach a commis
cette procédure à titre d'exemple. (ce ne sont pas des variables objet)
à exécuter avec et sans la déclaration des variables pour
voir la différence :
'--------------------------------------
Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub
'--------------------------------------
En dernier lieu, j'ajouterai ceci :
Set Rg = Range("A1")
Rg , Range("A1") ou [A1]. Si toutes ces présentations
personnifient un objet "Range", si quelqu'un arrive à la
conclusion que ces expressions sont "semblables", et bien
on devrait déduire que la déclaration des variables dans
une procédure est inutile puisque le code serait aussi efficace
et rapide qu'avec ou sans déclaration de celles-ci. C'est ce
que sous-entend l'expression "semblables"... Non ?
Si la variable Rg n'est pas déclarée et typée, elle ressemble à
[A1] puisqu'Excel "interprétera" ces objets au moment de
l'exécution du code. Ainsi en est-il des propriétés et méthodes
employées avec ces 2 expressions. Selon moi, cela va à l'encontre
des principes les plus élémentaires de programmation. Quand le
seul avantage de cette syntaxe "[A1]" se résume à la concision de
la saisie... c'est un peu court comme argument. Est-ce que la qualité
du code d'une procédure se résume au nombre de caractères utilisés ?
En dernier lieu, si quelqu'un a besoin de se convaincre de
l'utilité de déclarer les variables, John Walkenbach a commis
cette procédure à titre d'exemple. (ce ne sont pas des variables objet)
à exécuter avec et sans la déclaration des variables pour
voir la différence :
'--------------------------------------
Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub
'--------------------------------------