Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Lolol,
Je n'ai pas vraiment saisi le sens de ta question. Une variable (array-Tableau) est déjà une variable, pourquoi vouloir remplacer son nom par un autre ...
Sauf que tu peux mettre dans une variable donnée, un élément d'un tableau comme ceci :
Dim Temp as variant
If MonTest = true then TabloStandard(1, 1) = 8 Temp = TabloStandard(1, 1) End if
Salutations!
"-=lolol=-" a écrit dans le message de news: Bonjour à tous,
dans une sub, j'ai : If MonTest = true then TabloStandard(1, 1) = 8
comment remplacer le nom du tableau (TabloStandard) par le nom du variable contenant ce nom ?
Merci pour votre aide @+lolo
Bonjour Lolol,
Je n'ai pas vraiment saisi le sens de ta question. Une variable (array-Tableau) est déjà une variable, pourquoi vouloir remplacer
son nom par un autre ...
Sauf que tu peux mettre dans une variable donnée, un élément d'un tableau comme ceci :
Dim Temp as variant
If MonTest = true then
TabloStandard(1, 1) = 8
Temp = TabloStandard(1, 1)
End if
Salutations!
"-=lolol=-" <polytek@SANSPUBfree.fr> a écrit dans le message de news: uJnghbquFHA.904@tk2msftngp13.phx.gbl...
Bonjour à tous,
dans une sub, j'ai :
If MonTest = true then TabloStandard(1, 1) = 8
comment remplacer le nom du tableau (TabloStandard) par le nom du variable
contenant ce nom ?
Je n'ai pas vraiment saisi le sens de ta question. Une variable (array-Tableau) est déjà une variable, pourquoi vouloir remplacer son nom par un autre ...
Sauf que tu peux mettre dans une variable donnée, un élément d'un tableau comme ceci :
Dim Temp as variant
If MonTest = true then TabloStandard(1, 1) = 8 Temp = TabloStandard(1, 1) End if
Salutations!
"-=lolol=-" a écrit dans le message de news: Bonjour à tous,
dans une sub, j'ai : If MonTest = true then TabloStandard(1, 1) = 8
comment remplacer le nom du tableau (TabloStandard) par le nom du variable contenant ce nom ?
Merci pour votre aide @+lolo
-=lolol=-
Bonjour michdenis,
Je n'ai pas vraiment saisi le sens de ta question.
excuse moi, je précise ... j'essaye de :-(
dans une sub, j'ai un premier test qui doit me donner le nom du tableau à utiliser If LaCouleur ="Bleu" then NomTablo = "Tablo1" If LaCouleur ="rouge" then NomTablo = "Tablo2"
plus loin je voudrais utiliser le contenu de ma variable "NomTablo" pour désigner le tableau à utiliser et écrire dans la zone (1,1) de ce tableau
If MonTest = true then NomTablo(1, 1) = 8
donc si premier test = bleu, je voudrais écrire 8 dans Tablo1(1,1) et si le premier test = rouge, je voudrais écrire 8 dans Tablo2(1,1)
j'espère être plus clair merci pour ta patience @+lolo
Bonjour michdenis,
Je n'ai pas vraiment saisi le sens de ta question.
excuse moi, je précise ... j'essaye de :-(
dans une sub, j'ai un premier test qui doit me donner le nom du tableau à
utiliser
If LaCouleur ="Bleu" then NomTablo = "Tablo1"
If LaCouleur ="rouge" then NomTablo = "Tablo2"
plus loin je voudrais utiliser le contenu de ma variable "NomTablo" pour
désigner le tableau à utiliser et écrire dans la zone (1,1) de ce tableau
If MonTest = true then NomTablo(1, 1) = 8
donc si premier test = bleu, je voudrais écrire 8 dans Tablo1(1,1)
et si le premier test = rouge, je voudrais écrire 8 dans Tablo2(1,1)
j'espère être plus clair
merci pour ta patience
@+lolo
Je n'ai pas vraiment saisi le sens de ta question.
excuse moi, je précise ... j'essaye de :-(
dans une sub, j'ai un premier test qui doit me donner le nom du tableau à utiliser If LaCouleur ="Bleu" then NomTablo = "Tablo1" If LaCouleur ="rouge" then NomTablo = "Tablo2"
plus loin je voudrais utiliser le contenu de ma variable "NomTablo" pour désigner le tableau à utiliser et écrire dans la zone (1,1) de ce tableau
If MonTest = true then NomTablo(1, 1) = 8
donc si premier test = bleu, je voudrais écrire 8 dans Tablo1(1,1) et si le premier test = rouge, je voudrais écrire 8 dans Tablo2(1,1)
j'espère être plus clair merci pour ta patience @+lolo
michdenis
Tu peux utiliser un select case
Select case LaCouleur case is = "Bleu" Tablo1(1,1) = "MaValeur" case is = "Rouge" Tablo(2) = "MaValeur" end select
Salutations!
"-=lolol=-" a écrit dans le message de news: Bonjour michdenis,
Je n'ai pas vraiment saisi le sens de ta question.
excuse moi, je précise ... j'essaye de :-(
dans une sub, j'ai un premier test qui doit me donner le nom du tableau à utiliser If LaCouleur ="Bleu" then NomTablo = "Tablo1" If LaCouleur ="rouge" then NomTablo = "Tablo2"
plus loin je voudrais utiliser le contenu de ma variable "NomTablo" pour désigner le tableau à utiliser et écrire dans la zone (1,1) de ce tableau
If MonTest = true then NomTablo(1, 1) = 8
donc si premier test = bleu, je voudrais écrire 8 dans Tablo1(1,1) et si le premier test = rouge, je voudrais écrire 8 dans Tablo2(1,1)
j'espère être plus clair merci pour ta patience @+lolo
Tu peux utiliser un select case
Select case LaCouleur
case is = "Bleu"
Tablo1(1,1) = "MaValeur"
case is = "Rouge"
Tablo(2) = "MaValeur"
end select
Salutations!
"-=lolol=-" <polytek@SANSPUBfree.fr> a écrit dans le message de news: uzFPSYruFHA.3188@TK2MSFTNGP14.phx.gbl...
Bonjour michdenis,
Je n'ai pas vraiment saisi le sens de ta question.
excuse moi, je précise ... j'essaye de :-(
dans une sub, j'ai un premier test qui doit me donner le nom du tableau à
utiliser
If LaCouleur ="Bleu" then NomTablo = "Tablo1"
If LaCouleur ="rouge" then NomTablo = "Tablo2"
plus loin je voudrais utiliser le contenu de ma variable "NomTablo" pour
désigner le tableau à utiliser et écrire dans la zone (1,1) de ce tableau
If MonTest = true then NomTablo(1, 1) = 8
donc si premier test = bleu, je voudrais écrire 8 dans Tablo1(1,1)
et si le premier test = rouge, je voudrais écrire 8 dans Tablo2(1,1)
j'espère être plus clair
merci pour ta patience
@+lolo
Select case LaCouleur case is = "Bleu" Tablo1(1,1) = "MaValeur" case is = "Rouge" Tablo(2) = "MaValeur" end select
Salutations!
"-=lolol=-" a écrit dans le message de news: Bonjour michdenis,
Je n'ai pas vraiment saisi le sens de ta question.
excuse moi, je précise ... j'essaye de :-(
dans une sub, j'ai un premier test qui doit me donner le nom du tableau à utiliser If LaCouleur ="Bleu" then NomTablo = "Tablo1" If LaCouleur ="rouge" then NomTablo = "Tablo2"
plus loin je voudrais utiliser le contenu de ma variable "NomTablo" pour désigner le tableau à utiliser et écrire dans la zone (1,1) de ce tableau
If MonTest = true then NomTablo(1, 1) = 8
donc si premier test = bleu, je voudrais écrire 8 dans Tablo1(1,1) et si le premier test = rouge, je voudrais écrire 8 dans Tablo2(1,1)
j'espère être plus clair merci pour ta patience @+lolo
-=lolol=-
Bonjour michdenis,
Tu peux utiliser un select case
Select case LaCouleur case is = "Bleu" Tablo1(1,1) = "MaValeur" case is = "Rouge" Tablo(2) = "MaValeur" end select
oui, évidement, c'est ce que je fais :-) ... mais le traitement ne se borne pas à Tablo1(1,1) = "MaValeur", j'ai une multitude de lignes presque identiques suivant les "case" qui ne varient que du nom du Tablo ...
Merci pour ton aide @+lolo
Bonjour michdenis,
Tu peux utiliser un select case
Select case LaCouleur
case is = "Bleu"
Tablo1(1,1) = "MaValeur"
case is = "Rouge"
Tablo(2) = "MaValeur"
end select
oui, évidement, c'est ce que je fais :-)
... mais le traitement ne se borne pas à Tablo1(1,1) = "MaValeur", j'ai une
multitude de lignes presque identiques suivant les "case" qui ne varient que
du nom du Tablo ...
Select case LaCouleur case is = "Bleu" Tablo1(1,1) = "MaValeur" case is = "Rouge" Tablo(2) = "MaValeur" end select
oui, évidement, c'est ce que je fais :-) ... mais le traitement ne se borne pas à Tablo1(1,1) = "MaValeur", j'ai une multitude de lignes presque identiques suivant les "case" qui ne varient que du nom du Tablo ...
Merci pour ton aide @+lolo
anonymousA
bonjour,
un truc dans le genre , si ca peut aider . Un exemple ci-dessous à adapter bien sur
... et la je comprends plus rien ... je vais chercher une corde pour me pendre si il ne reste plus que ça !
peux tu préciser s'il te plais ? par avance merci @+lolo
anonymousA
Sub gg(couleur, ParamArray tabl()) 'couleur a recu la valeur de la variable temp donc p.e dans l'exemple la couleur Bleu
'on déclare un tableau de strings correspondant à un ordre préétabli fonction de l'ordre suivi pour l'array FV. 'En effet on va se servir de cet ordre pour associer un array ( tableau1 ou tableau2 ou tableau3) avec une couleur 'on voit bien que FV(0) correspond à tableau1 et coul(0) correspond à "Rouge", ils ont donc le même indice dans leurs Arrays respectifs coul = Array("Rouge", "Bleu", "Vert")
'ici WorksheetFunction.Match(couleur, coul, 1) va détécter , en fonction de la valeur de couleur , dans l'array coul quel est le N° d'index dans la suite "Rouge", Bleu", "Vert". Une fois le N° d'index trouvé, il suffit de lui retirer 1 (WorksheetFunction.Match(couleur, coul, 1) - 1) pour rechercher le array de FV correspondant car les Array sont toujours de base 0 sauf déclaration contraire. Ici l'écriture tabl(0)tabl(0)(WorksheetFunction.Match(couleur, coul, 1) - 1)(1, 1) est équivalente avec temp="Bleu" à tab(0)(1)(1,1) qui correspond donc à la 1ere case du tableau N°2 de l'array FV soit donc tableau2 , tableau que l'on souhaitait mettre à jour
Enfin , le fait de réaffecter les tableaux par les instructions suivantes est rendu nécéssaire par le fait que tabl est ByRef mais ce qui est monté en mémoire pour la procédure appelée ce ne sont pas les tableaux (tableau1, tableau2...) mais le tableau FV. Donc si FV est bien modifié par l'affectation tabl(0)(WorksheetFunction.Match(couleur, coul, 1) - 1)(1, 1) = "MaValeur" , le tableau (tableau2 p.e) lui-même source de FV ne l'est pas et il faut bien lui transférer la nouvelle valeur. Comme par ailleurs, il n'est pas possible de désigner un tableau tel que tableau1 p.e autrement que par son nom , il devient alors impératif (même si dans l'absolu on sait quel tableau devrait être à mettre à jour ) de tous les mettre à jour ce qui garantit qu'au moins celui qui devait absolument l'être, le sera.
L'interet de ces procédures , c'est leur relative concision et la possibilité de bricoler ce que l'on veut dans la procédure gg. Au passage, ca fait pas de mal de se colleter un peu avec ParamArray qui est pas vraiment le truc dont on se sert tous les jours.
A+
Sub gg(couleur, ParamArray tabl())
'couleur a recu la valeur de la variable temp donc p.e dans l'exemple
la couleur Bleu
'on déclare un tableau de strings correspondant à un ordre
préétabli fonction de l'ordre suivi pour l'array FV.
'En effet on va se servir de cet ordre pour associer un array (
tableau1 ou tableau2 ou tableau3) avec une couleur
'on voit bien que FV(0) correspond à tableau1 et coul(0) correspond à
"Rouge", ils ont donc le même indice dans leurs Arrays respectifs
coul = Array("Rouge", "Bleu", "Vert")
'ici WorksheetFunction.Match(couleur, coul, 1) va détécter , en
fonction de la valeur de couleur , dans l'array coul quel est le N°
d'index dans la suite "Rouge", Bleu", "Vert". Une fois le N° d'index
trouvé, il suffit de lui retirer 1 (WorksheetFunction.Match(couleur,
coul, 1) - 1) pour rechercher le array de FV correspondant car les
Array sont toujours de base 0 sauf déclaration contraire.
Ici l'écriture tabl(0)tabl(0)(WorksheetFunction.Match(couleur, coul,
1) - 1)(1, 1) est équivalente avec temp="Bleu" à
tab(0)(1)(1,1) qui correspond donc à la 1ere case du tableau N°2 de
l'array FV soit donc tableau2 , tableau que l'on souhaitait mettre à
jour
Enfin , le fait de réaffecter les tableaux par les instructions
suivantes est rendu nécéssaire par le fait que tabl est ByRef mais ce
qui est monté en mémoire pour la procédure appelée ce ne sont pas
les tableaux (tableau1, tableau2...) mais le tableau FV. Donc si FV est
bien modifié par l'affectation
tabl(0)(WorksheetFunction.Match(couleur, coul, 1) - 1)(1, 1) =
"MaValeur" , le tableau (tableau2 p.e) lui-même source de FV ne l'est
pas et il faut bien lui transférer la nouvelle valeur.
Comme par ailleurs, il n'est pas possible de désigner un tableau tel
que tableau1 p.e autrement que par son nom , il devient alors
impératif (même si dans l'absolu on sait quel tableau devrait être
à mettre à jour ) de tous les mettre à jour ce qui garantit qu'au
moins celui qui devait absolument l'être, le sera.
L'interet de ces procédures , c'est leur relative concision et la
possibilité de bricoler ce que l'on veut dans la procédure gg. Au
passage, ca fait pas de mal de se colleter un peu avec ParamArray qui
est pas vraiment le truc dont on se sert tous les jours.
Sub gg(couleur, ParamArray tabl()) 'couleur a recu la valeur de la variable temp donc p.e dans l'exemple la couleur Bleu
'on déclare un tableau de strings correspondant à un ordre préétabli fonction de l'ordre suivi pour l'array FV. 'En effet on va se servir de cet ordre pour associer un array ( tableau1 ou tableau2 ou tableau3) avec une couleur 'on voit bien que FV(0) correspond à tableau1 et coul(0) correspond à "Rouge", ils ont donc le même indice dans leurs Arrays respectifs coul = Array("Rouge", "Bleu", "Vert")
'ici WorksheetFunction.Match(couleur, coul, 1) va détécter , en fonction de la valeur de couleur , dans l'array coul quel est le N° d'index dans la suite "Rouge", Bleu", "Vert". Une fois le N° d'index trouvé, il suffit de lui retirer 1 (WorksheetFunction.Match(couleur, coul, 1) - 1) pour rechercher le array de FV correspondant car les Array sont toujours de base 0 sauf déclaration contraire. Ici l'écriture tabl(0)tabl(0)(WorksheetFunction.Match(couleur, coul, 1) - 1)(1, 1) est équivalente avec temp="Bleu" à tab(0)(1)(1,1) qui correspond donc à la 1ere case du tableau N°2 de l'array FV soit donc tableau2 , tableau que l'on souhaitait mettre à jour
Enfin , le fait de réaffecter les tableaux par les instructions suivantes est rendu nécéssaire par le fait que tabl est ByRef mais ce qui est monté en mémoire pour la procédure appelée ce ne sont pas les tableaux (tableau1, tableau2...) mais le tableau FV. Donc si FV est bien modifié par l'affectation tabl(0)(WorksheetFunction.Match(couleur, coul, 1) - 1)(1, 1) = "MaValeur" , le tableau (tableau2 p.e) lui-même source de FV ne l'est pas et il faut bien lui transférer la nouvelle valeur. Comme par ailleurs, il n'est pas possible de désigner un tableau tel que tableau1 p.e autrement que par son nom , il devient alors impératif (même si dans l'absolu on sait quel tableau devrait être à mettre à jour ) de tous les mettre à jour ce qui garantit qu'au moins celui qui devait absolument l'être, le sera.
L'interet de ces procédures , c'est leur relative concision et la possibilité de bricoler ce que l'on veut dans la procédure gg. Au passage, ca fait pas de mal de se colleter un peu avec ParamArray qui est pas vraiment le truc dont on se sert tous les jours.
A+
-=lolol=-
Bonjour anonymousA, pioufffff ou ouarf (au au choix) :-) je retourne lire ta prose ... pour la 4ième fois :-( mille mercis @+lolo
Bonjour anonymousA,
pioufffff ou ouarf (au au choix) :-)
je retourne lire ta prose ... pour la 4ième fois :-(
mille mercis
@+lolo