OVH Cloud OVH Cloud

Crise existentielle

3 réponses
Avatar
Balain
Bonjour et meilleurs voeux à tous pour cette nouvelle année

J'aurais besoin d'un peu d'aide pour résoudre un problème pour lequel je
n'ai pas trouvé de solution élégante.

Dans un SELECT CASE d'un code VBA, j'initialise des variables TOTOnnn de
type RANGE. Je ne sais pas, a priori, si je vais passer dans le code qui
initialise mes variables.

Lorsque je veux exploiter mes données, comment savoir si mes variables
ont été initialisées ?
Sans cela la première méthode que j'applique à TOTOnnn me déclenche une
erreur.


Merci de votre aide
Balain

NB
J'ai bien pensé doubler chaque variable TOTOnnn par une variable
EXISTEnnn de type Boolean que j'initialiserais à True en parallèle avec
mon "Set TOTOnnn =" mais cela me semble excessivement lourd

3 réponses

Avatar
Pierre CFI [mvp]
bonjour
pour savoir si un objet
if totonn is nothing
ou tu recupére l'erreur
avant la ligne qui fait ref à une propriéte de l'objet (donc eventuelle erreur)
on error resume next
p= totonnvalue
if err <> then
'la variable n'est pas initialisé donc tu fais qq chose

met aussi err.clear




Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Balain" a écrit dans le message de news:
Bonjour et meilleurs voeux à tous pour cette nouvelle année

J'aurais besoin d'un peu d'aide pour résoudre un problème pour lequel je
n'ai pas trouvé de solution élégante.

Dans un SELECT CASE d'un code VBA, j'initialise des variables TOTOnnn de
type RANGE. Je ne sais pas, a priori, si je vais passer dans le code qui
initialise mes variables.

Lorsque je veux exploiter mes données, comment savoir si mes variables
ont été initialisées ?
Sans cela la première méthode que j'applique à TOTOnnn me déclenche une
erreur.


Merci de votre aide
Balain

NB
J'ai bien pensé doubler chaque variable TOTOnnn par une variable
EXISTEnnn de type Boolean que j'initialiserais à True en parallèle avec
mon "Set TOTOnnn =" mais cela me semble excessivement lourd



Avatar
Balain
Merci mille fois.

Je viens de faire un test avec la première solution qui répond
parfaitement à mon besoin.

Pour ce qui est de la récupération d'erreur, j'ai l'impression qu'il
faut que je me trouve un bon cours sur ce sujet qui m'échappe
complètement.

Balain


"Pierre CFI [mvp]" a écrit dans le message de
news:
| bonjour
| pour savoir si un objet
| if totonn is nothing
| ou tu recupére l'erreur
| avant la ligne qui fait ref à une propriéte de l'objet (donc
eventuelle erreur)
| on error resume next
| p= totonnvalue
| if err <> then
| 'la variable n'est pas initialisé donc tu fais qq chose
|
| met aussi err.clear
|
|
|
|
| Site pour bien commencer
| http://users.skynet.be/mpfa/
| Site perso
| http://access.cfi.free.fr
| "Balain" a écrit dans le message
de news:
| > Bonjour et meilleurs voeux à tous pour cette nouvelle année
| >
| > J'aurais besoin d'un peu d'aide pour résoudre un problème pour
lequel je
| > n'ai pas trouvé de solution élégante.
| >
| > Dans un SELECT CASE d'un code VBA, j'initialise des variables
TOTOnnn de
| > type RANGE. Je ne sais pas, a priori, si je vais passer dans le code
qui
| > initialise mes variables.
| >
| > Lorsque je veux exploiter mes données, comment savoir si mes
variables
| > ont été initialisées ?
| > Sans cela la première méthode que j'applique à TOTOnnn me déclenche
une
| > erreur.
| >
| >
| > Merci de votre aide
| > Balain
| >
| > NB
| > J'ai bien pensé doubler chaque variable TOTOnnn par une variable
| > EXISTEnnn de type Boolean que j'initialiserais à True en parallèle
avec
| > mon "Set TOTOnnn =" mais cela me semble excessivement lourd
| >
|
|
Avatar
Pierre CFI [mvp]
j'avais oublié le 0 dans err <> 0
oui, la récupération du résultat d'une erreur provoquée est utile parfois

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Balain" a écrit dans le message de news:
Merci mille fois.

Je viens de faire un test avec la première solution qui répond
parfaitement à mon besoin.

Pour ce qui est de la récupération d'erreur, j'ai l'impression qu'il
faut que je me trouve un bon cours sur ce sujet qui m'échappe
complètement.

Balain


"Pierre CFI [mvp]" a écrit dans le message de
news:
| bonjour
| pour savoir si un objet
| if totonn is nothing
| ou tu recupére l'erreur
| avant la ligne qui fait ref à une propriéte de l'objet (donc
eventuelle erreur)
| on error resume next
| p= totonnvalue
| if err <> then
| 'la variable n'est pas initialisé donc tu fais qq chose
|
| met aussi err.clear
|
|
|
|
| Site pour bien commencer
| http://users.skynet.be/mpfa/
| Site perso
| http://access.cfi.free.fr
| "Balain" a écrit dans le message
de news:
| > Bonjour et meilleurs voeux à tous pour cette nouvelle année
| >
| > J'aurais besoin d'un peu d'aide pour résoudre un problème pour
lequel je
| > n'ai pas trouvé de solution élégante.
| >
| > Dans un SELECT CASE d'un code VBA, j'initialise des variables
TOTOnnn de
| > type RANGE. Je ne sais pas, a priori, si je vais passer dans le code
qui
| > initialise mes variables.
| >
| > Lorsque je veux exploiter mes données, comment savoir si mes
variables
| > ont été initialisées ?
| > Sans cela la première méthode que j'applique à TOTOnnn me déclenche
une
| > erreur.
| >
| >
| > Merci de votre aide
| > Balain
| >
| > NB
| > J'ai bien pensé doubler chaque variable TOTOnnn par une variable
| > EXISTEnnn de type Boolean que j'initialiserais à True en parallèle
avec
| > mon "Set TOTOnnn =" mais cela me semble excessivement lourd
| >
|
|