Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire référence à un nom de variable via une autre variable

5 réponses
Avatar
Pierre Archambault
Bonjour à tous,

Voilà le problème que je dois résoudre:

Dans mon code, j'ai un Tableau() à une dimension qui est initialisé au début
avec des chaînes de caractères qui identifient le type de numéro de
téléphone ex.: "Résidence", "Bureau", "Télécopie", "Cellulaire" etc.

Nous avons donc:
Tableau(1) = "Résidence"
Tableau(2) = "Bureau"
Tableau(3) = "Télécopie"
...
Je voudrais lire d'un fichier, le nom de cette variable "Tableau"

Dim NomDeLaVariable as String * 10
Open Fichier for Binary Access Read as #1
Get #1, 1, NomDeLaVariable
Close #1

et ensuite référer au Tableau() par l'entremise de NomDeLaVariable en y
apposant l'indice:

Ex.:
label1.Caption = NomDeLaVariable(1)

et obtenir que label1 affiche: "Résidence" dans le cas de Tableau(1).

Je ne sais pas si c'est possible mais toutes les suggestions sont les
bienvenues.

Merci

Pierre

5 réponses

Avatar
MichDenis
Je n'ai pas saisi la donne de la question :

Ta variable est déclaré comme une chaîne de 10 caractères
Dim NomDeLaVariable as String * 10

Elle ne peut pas devenir un tableau un peu plus loin dans la même procédure ....

Si tu veux rechercher dans ta variable Tableau l'indice auquel fait référence NomDeLaVariable
de ton fichier texte, utilise la fonction Match

On Error Resume Next
X = Application.Match(NomDeLaVariable,Tableau,0)

La fonction Match génère une erreur de type 91 lorsqu'elle ne trouve pas
c'est pourquoi j'ai utilisé On Error resume next.



"Pierre Archambault" a écrit dans le message de news:
FXrTh.4266$
Bonjour à tous,

Voilà le problème que je dois résoudre:

Dans mon code, j'ai un Tableau() à une dimension qui est initialisé au début
avec des chaînes de caractères qui identifient le type de numéro de
téléphone ex.: "Résidence", "Bureau", "Télécopie", "Cellulaire" etc.

Nous avons donc:
Tableau(1) = "Résidence"
Tableau(2) = "Bureau"
Tableau(3) = "Télécopie"
...
Je voudrais lire d'un fichier, le nom de cette variable "Tableau"

Dim NomDeLaVariable as String * 10
Open Fichier for Binary Access Read as #1
Get #1, 1, NomDeLaVariable
Close #1

et ensuite référer au Tableau() par l'entremise de NomDeLaVariable en y
apposant l'indice:

Ex.:
label1.Caption = NomDeLaVariable(1)

et obtenir que label1 affiche: "Résidence" dans le cas de Tableau(1).

Je ne sais pas si c'est possible mais toutes les suggestions sont les
bienvenues.

Merci

Pierre
Avatar
Pierre Archambault
Je m'explique.

La variable NomDeLaVariable sert à récupérer le texte qui représente le nom
de ma variable soit "Tableau". Je dois initialiser NomDeLaVariable afin que
l'instruction Get puisse lire une certain nombre de caractères du fichier
soit 10 (ce nombre pourrait être différent). Finalement, une fois
l'opération de lecture terminée, NomDeLaVariable contient "Tableau ". Avec
les 3 espaces superflus.

Trim(NomDeLaVariable) me donne "Tableau"

Ensuite je voudrais utiliser Trim(NomDeLaVariable) et un indice pour
récupérer les différentes valeurs du Tableau().

Je sais que ça semble fou mais... ça l'est !

Merci

Pierre


"MichDenis" a écrit dans le message de news:
O%
Je n'ai pas saisi la donne de la question :

Ta variable est déclaré comme une chaîne de 10 caractères
Dim NomDeLaVariable as String * 10

Elle ne peut pas devenir un tableau un peu plus loin dans la même
procédure ....

Si tu veux rechercher dans ta variable Tableau l'indice auquel fait
référence NomDeLaVariable
de ton fichier texte, utilise la fonction Match

On Error Resume Next
X = Application.Match(NomDeLaVariable,Tableau,0)

La fonction Match génère une erreur de type 91 lorsqu'elle ne trouve pas
c'est pourquoi j'ai utilisé On Error resume next.



"Pierre Archambault" a écrit dans le
message de news:
FXrTh.4266$
Bonjour à tous,

Voilà le problème que je dois résoudre:

Dans mon code, j'ai un Tableau() à une dimension qui est initialisé au
début
avec des chaînes de caractères qui identifient le type de numéro de
téléphone ex.: "Résidence", "Bureau", "Télécopie", "Cellulaire" etc.

Nous avons donc:
Tableau(1) = "Résidence"
Tableau(2) = "Bureau"
Tableau(3) = "Télécopie"
...
Je voudrais lire d'un fichier, le nom de cette variable "Tableau"

Dim NomDeLaVariable as String * 10
Open Fichier for Binary Access Read as #1
Get #1, 1, NomDeLaVariable
Close #1

et ensuite référer au Tableau() par l'entremise de NomDeLaVariable en y
apposant l'indice:

Ex.:
label1.Caption = NomDeLaVariable(1)

et obtenir que label1 affiche: "Résidence" dans le cas de Tableau(1).

Je ne sais pas si c'est possible mais toutes les suggestions sont les
bienvenues.

Merci

Pierre





Avatar
MichDenis
| Dim NomDeLaVariable as String * 10

| Trim(NomDeLaVariable)

C'est totalement inutile d'utiliser la fonction Trim car par définition de la variable a 10
caractères
et elle va demeurer avec 10 caractères même si 3 d'entres eux sont vides....

Ceci étant, ce que tu tentes de faire est impossible ... mais je n'ai aucune idée
pourquoi tu dois utiliser ceci pour réussir ce que tu veux faire... de même
je n'ai pas compris ce que tu tentes de réussir ....



"Pierre Archambault" a écrit dans le message de news:
LjtTh.6866$
Je m'explique.

La variable NomDeLaVariable sert à récupérer le texte qui représente le nom
de ma variable soit "Tableau". Je dois initialiser NomDeLaVariable afin que
l'instruction Get puisse lire une certain nombre de caractères du fichier
soit 10 (ce nombre pourrait être différent). Finalement, une fois
l'opération de lecture terminée, NomDeLaVariable contient "Tableau ". Avec
les 3 espaces superflus.

Trim(NomDeLaVariable) me donne "Tableau"

Ensuite je voudrais utiliser Trim(NomDeLaVariable) et un indice pour
récupérer les différentes valeurs du Tableau().

Je sais que ça semble fou mais... ça l'est !

Merci

Pierre


"MichDenis" a écrit dans le message de news:
O%
Je n'ai pas saisi la donne de la question :

Ta variable est déclaré comme une chaîne de 10 caractères
Dim NomDeLaVariable as String * 10

Elle ne peut pas devenir un tableau un peu plus loin dans la même
procédure ....

Si tu veux rechercher dans ta variable Tableau l'indice auquel fait
référence NomDeLaVariable
de ton fichier texte, utilise la fonction Match

On Error Resume Next
X = Application.Match(NomDeLaVariable,Tableau,0)

La fonction Match génère une erreur de type 91 lorsqu'elle ne trouve pas
c'est pourquoi j'ai utilisé On Error resume next.



"Pierre Archambault" a écrit dans le
message de news:
FXrTh.4266$
Bonjour à tous,

Voilà le problème que je dois résoudre:

Dans mon code, j'ai un Tableau() à une dimension qui est initialisé au
début
avec des chaînes de caractères qui identifient le type de numéro de
téléphone ex.: "Résidence", "Bureau", "Télécopie", "Cellulaire" etc.

Nous avons donc:
Tableau(1) = "Résidence"
Tableau(2) = "Bureau"
Tableau(3) = "Télécopie"
...
Je voudrais lire d'un fichier, le nom de cette variable "Tableau"

Dim NomDeLaVariable as String * 10
Open Fichier for Binary Access Read as #1
Get #1, 1, NomDeLaVariable
Close #1

et ensuite référer au Tableau() par l'entremise de NomDeLaVariable en y
apposant l'indice:

Ex.:
label1.Caption = NomDeLaVariable(1)

et obtenir que label1 affiche: "Résidence" dans le cas de Tableau(1).

Je ne sais pas si c'est possible mais toutes les suggestions sont les
bienvenues.

Merci

Pierre





Avatar
Pierre Archambault
Merci quand même.

Je cherche dans une autre voie.

Pierre


"MichDenis" a écrit dans le message de news:
%
| Dim NomDeLaVariable as String * 10

| Trim(NomDeLaVariable)

C'est totalement inutile d'utiliser la fonction Trim car par définition de
la variable a 10
caractères
et elle va demeurer avec 10 caractères même si 3 d'entres eux sont
vides....

Ceci étant, ce que tu tentes de faire est impossible ... mais je n'ai
aucune idée
pourquoi tu dois utiliser ceci pour réussir ce que tu veux faire... de
même
je n'ai pas compris ce que tu tentes de réussir ....



"Pierre Archambault" a écrit dans le
message de news:
LjtTh.6866$
Je m'explique.

La variable NomDeLaVariable sert à récupérer le texte qui représente le
nom
de ma variable soit "Tableau". Je dois initialiser NomDeLaVariable afin
que
l'instruction Get puisse lire une certain nombre de caractères du fichier
soit 10 (ce nombre pourrait être différent). Finalement, une fois
l'opération de lecture terminée, NomDeLaVariable contient "Tableau ".
Avec
les 3 espaces superflus.

Trim(NomDeLaVariable) me donne "Tableau"

Ensuite je voudrais utiliser Trim(NomDeLaVariable) et un indice pour
récupérer les différentes valeurs du Tableau().

Je sais que ça semble fou mais... ça l'est !

Merci

Pierre


"MichDenis" a écrit dans le message de news:
O%
Je n'ai pas saisi la donne de la question :

Ta variable est déclaré comme une chaîne de 10 caractères
Dim NomDeLaVariable as String * 10

Elle ne peut pas devenir un tableau un peu plus loin dans la même
procédure ....

Si tu veux rechercher dans ta variable Tableau l'indice auquel fait
référence NomDeLaVariable
de ton fichier texte, utilise la fonction Match

On Error Resume Next
X = Application.Match(NomDeLaVariable,Tableau,0)

La fonction Match génère une erreur de type 91 lorsqu'elle ne trouve pas
c'est pourquoi j'ai utilisé On Error resume next.



"Pierre Archambault" a écrit dans le
message de news:
FXrTh.4266$
Bonjour à tous,

Voilà le problème que je dois résoudre:

Dans mon code, j'ai un Tableau() à une dimension qui est initialisé au
début
avec des chaînes de caractères qui identifient le type de numéro de
téléphone ex.: "Résidence", "Bureau", "Télécopie", "Cellulaire" etc.

Nous avons donc:
Tableau(1) = "Résidence"
Tableau(2) = "Bureau"
Tableau(3) = "Télécopie"
...
Je voudrais lire d'un fichier, le nom de cette variable "Tableau"

Dim NomDeLaVariable as String * 10
Open Fichier for Binary Access Read as #1
Get #1, 1, NomDeLaVariable
Close #1

et ensuite référer au Tableau() par l'entremise de NomDeLaVariable en y
apposant l'indice:

Ex.:
label1.Caption = NomDeLaVariable(1)

et obtenir que label1 affiche: "Résidence" dans le cas de Tableau(1).

Je ne sais pas si c'est possible mais toutes les suggestions sont les
bienvenues.

Merci

Pierre










Avatar
lSteph
Bonjour,

Je cherche dans une autre voie.
Alors à tout hasard, même si personnellement je n'exploite guère

cette possibilité,
il me semble que l'utilisation de Type pourrait être une piste
avec des chaînes de caractères qui identifient le type de numéro de
téléphone ex.: "Résidence", "Bureau", "Télécopie", "Cellulai re" etc.




Voir cette référence:
http://silkyroad.developpez.com/VBA/LesVariables/#LIX

Cordialement.

lSteph


On 13 avr, 02:42, "Pierre Archambault"
wrote:
Merci quand même.

Je cherche dans une autre voie.

Pierre

"MichDenis" a écrit dans le message de news:
%

| Dim NomDeLaVariable as String * 10

| Trim(NomDeLaVariable)

C'est totalement inutile d'utiliser la fonction Trim car par définiti on de
la variable a 10
caractères
et elle va demeurer avec 10 caractères même si 3 d'entres eux sont
vides....

Ceci étant, ce que tu tentes de faire est impossible ... mais je n'ai
aucune idée
pourquoi tu dois utiliser ceci pour réussir ce que tu veux faire... de
même
je n'ai pas compris ce que tu tentes de réussir ....

"Pierre Archambault" a écrit dans le
message de news:
LjtTh.6866$
Je m'explique.

La variable NomDeLaVariable sert à récupérer le texte qui repré sente le
nom
de ma variable soit "Tableau". Je dois initialiser NomDeLaVariable afin
que
l'instruction Get puisse lire une certain nombre de caractères du fic hier
soit 10 (ce nombre pourrait être différent). Finalement, une fois
l'opération de lecture terminée, NomDeLaVariable contient "Tableau ".
Avec
les 3 espaces superflus.

Trim(NomDeLaVariable) me donne "Tableau"

Ensuite je voudrais utiliser Trim(NomDeLaVariable) et un indice pour
récupérer les différentes valeurs du Tableau().

Je sais que ça semble fou mais... ça l'est !

Merci

Pierre

"MichDenis" a écrit dans le message de news:
O%
Je n'ai pas saisi la donne de la question :

Ta variable est déclaré comme une chaîne de 10 caractères
Dim NomDeLaVariable as String * 10

Elle ne peut pas devenir un tableau un peu plus loin dans la même
procédure ....

Si tu veux rechercher dans ta variable Tableau l'indice auquel fait
référence NomDeLaVariable
de ton fichier texte, utilise la fonction Match

On Error Resume Next
X = Application.Match(NomDeLaVariable,Tableau,0)

La fonction Match génère une erreur de type 91 lorsqu'elle ne trou ve pas
c'est pourquoi j'ai utilisé On Error resume next.

"Pierre Archambault" a écrit dans le
message de news:
FXrTh.4266$
Bonjour à tous,

Voilà le problème que je dois résoudre:

Dans mon code, j'ai un Tableau() à une dimension qui est initialis é au
début
avec des chaînes de caractères qui identifient le type de numéro de
téléphone ex.: "Résidence", "Bureau", "Télécopie", "Cellulai re" etc.

Nous avons donc:
Tableau(1) = "Résidence"
Tableau(2) = "Bureau"
Tableau(3) = "Télécopie"
...
Je voudrais lire d'un fichier, le nom de cette variable "Tableau"

Dim NomDeLaVariable as String * 10
Open Fichier for Binary Access Read as #1
Get #1, 1, NomDeLaVariable
Close #1

et ensuite référer au Tableau() par l'entremise de NomDeLaVariable en y
apposant l'indice:

Ex.:
label1.Caption = NomDeLaVariable(1)

et obtenir que label1 affiche: "Résidence" dans le cas de Tableau(1).

Je ne sais pas si c'est possible mais toutes les suggestions sont les
bienvenues.

Merci

Pierre