Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'u ne table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indic és de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe( 0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0 ) aurait également
cette valeur.
Cordialement,
--
Trirème
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'u ne table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indic és de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe( 0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0 ) aurait également
cette valeur.
Cordialement,
--
Trirème
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'u ne table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indic és de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe( 0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0 ) aurait également
cette valeur.
Cordialement,
--
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème <N...@EvryOuer.fr> wrote:
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s 'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments ind icés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaLis te(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe( 0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaList e(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème <N...@EvryOuer.fr> wrote:
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s 'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments ind icés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaLis te(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe( 0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaList e(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s 'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments ind icés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaLis te(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe( 0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaList e(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème <N...@EvryOuer.fr> wrote:
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" a écrit dans le message de news:
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème wrote:Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1183908018.276965.114210@d55g2000hsg.googlegroups.com...
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème <N...@EvryOuer.fr> wrote:
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème <N...@EvryOuer.fr> wrote:
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" a écrit dans le message de news:
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème wrote:Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" a écrit dans le message de news:
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème wrote:Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1183908018.276965.114210@d55g2000hsg.googlegroups.com...
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème <N...@EvryOuer.fr> wrote:
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème <N...@EvryOuer.fr> wrote:
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Il y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" a écrit dans le message de news:
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème wrote:Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
| pour que partout dans le code MonMini reflète le contenu de MaListe(0)
Je ne suis pas sûr d'avoir compris ta demande...! et si tu donnais un exemple ?
J'ai également écrit : "...par souci d'alléger l'écriture d'un code VBA..."
Tu peux sans contredit passer ta valeur X à titre de paramètre à une autre procédure
sans aucun problème si c'est ce que tu recherches.Tu peux même avoir un tableau(array)
comme paramètre à une procédure... cela dépend de la finalité de l'exercice.
"Trirème" a écrit dans le message de news:
Ok, j'ai compris.
Il me semble que pour l'usage que j'en aurai - il y aurait en fait plusieurs variables
'alias' à déclarer - c'est plus lourd que ce que je pensais.
Pour le temps machine, c'est sûr que c'est négligeable.
Merci à vous deux.
Cordialement,
TrirèmeIl y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" a écrit dans le message de news:
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème wrote:Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
| pour que partout dans le code MonMini reflète le contenu de MaListe(0)
Je ne suis pas sûr d'avoir compris ta demande...! et si tu donnais un exemple ?
J'ai également écrit : "...par souci d'alléger l'écriture d'un code VBA..."
Tu peux sans contredit passer ta valeur X à titre de paramètre à une autre procédure
sans aucun problème si c'est ce que tu recherches.Tu peux même avoir un tableau(array)
comme paramètre à une procédure... cela dépend de la finalité de l'exercice.
"Trirème" <NoOne@EvryOuer.fr> a écrit dans le message de news:
uaIIXUYwHHA.4592@TK2MSFTNGP05.phx.gbl...
Ok, j'ai compris.
Il me semble que pour l'usage que j'en aurai - il y aurait en fait plusieurs variables
'alias' à déclarer - c'est plus lourd que ce que je pensais.
Pour le temps machine, c'est sûr que c'est négligeable.
Merci à vous deux.
Cordialement,
Trirème
Il y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1183908018.276965.114210@d55g2000hsg.googlegroups.com...
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème <N...@EvryOuer.fr> wrote:
Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
Trirème
Bonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème <N...@EvryOuer.fr> wrote:
Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
| Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
| pour que partout dans le code MonMini reflète le contenu de MaListe(0)
Je ne suis pas sûr d'avoir compris ta demande...! et si tu donnais un exemple ?
J'ai également écrit : "...par souci d'alléger l'écriture d'un code VBA..."
Tu peux sans contredit passer ta valeur X à titre de paramètre à une autre procédure
sans aucun problème si c'est ce que tu recherches.Tu peux même avoir un tableau(array)
comme paramètre à une procédure... cela dépend de la finalité de l'exercice.
"Trirème" a écrit dans le message de news:
Ok, j'ai compris.
Il me semble que pour l'usage que j'en aurai - il y aurait en fait plusieurs variables
'alias' à déclarer - c'est plus lourd que ce que je pensais.
Pour le temps machine, c'est sûr que c'est négligeable.
Merci à vous deux.
Cordialement,
TrirèmeIl y a ceci : tout ceci dans un module standard :
L'avantage de cette façon de faire est que tu contrôle l'endroit
dans ton code ou la variable est renseigné...tu peux au besoin
testé sa valeur ou vouloir déclencher une ou des actions lorsque
cette dernière est modifiée....
P.S. Property Get() et Property Let() sont habituellement utilisés
dans un module de classe...mais rien n'empêche d'y avoir recours
dans un autre type de module si le besoin est là.
'Déclaration de la variable dans le haut d'un module standard
Public MaVar As String ' Adapte au besoin le type de la variable
Public Property Get MonMini() As Variant
V_Table = MaVar
End Property
Public Property Let MonMini(ByVal vNewValue As Variant)
MaVar = vNewValue
End Property
Sub test()
'Cette ligne de code pour attribuer une valeur à ta variable MaVar
MonMini = "Bonjour"
End Sub
Sub Test1()
'Cette ligne de code pour retrouver le contenu de la variable MaVar
MsgBox MonMini
'Ou
toto = MonMini
End Sub
"JB" a écrit dans le message de news:
Temps exécution 0,34 s pour une boucle 1 à 1 000 000
Pour une variable simple, le temps devient 0,31 s
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
t = Timer()
For i = 1 To 1000000
x = MonMini()
Next i
MsgBox Timer() - t
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 17:11, Trirème wrote:Merci pour cette idée, je ne voyais pas ça comme ça, mais pourquoi pas.
Ce que j'envisageais s'apparenterais plus à un alias.
Ici j'imagine qu'il y a du temps d'exécution en plus ?
Cordialement,
TrirèmeBonjour,
Public MaListe
Sub Essai()
MaListe = Array(11, 12, 13, 6, 9)
MsgBox MonMini()
MaListe(0) = 99
MsgBox MonMini()
End Sub
Function MonMini()
MonMini = MaListe(0)
End Function
JB
On 8 juil, 16:33, Trirème wrote:Bonjour,
Surtout par souci d'alléger l'écriture d'un code VBA, je cherche s'il y a moyen de définir
une variable par rapport à une valeur particulière d'une liste ou d'une table. La solution
passerait-elle par 'By Ref' ?
Par exemple, si en VBA j'ai une liste MaListe() de 11 éléments indicés de 0 à 10, je
m'arrange pour mettre en MaListe(0) la valeur minimum de MaListe().
Est-ce que je peux faire un truc du genre déclarer MonMini = MaListe(0) By Ref
pour que partout dans le code MonMini reflète le contenu de MaListe(0) et pourquoi pas
l'inverse : que si j'affecte une valeur à MonMini, cette fois MaListe(0) aurait également
cette valeur.
Cordialement,
--
Trirème- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -