OVH Cloud OVH Cloud

améliorer l'écriture vba : utiliser des sub

2 réponses
Avatar
Alfred WALLACE
Bonjour :-)))

j'utilise =E0 plusieurs points de mes routines ceci :

' ON TESTE SI L'ON DOIT RESTER ICI OU NON ****
If calcul_TCD_en_cours Then
Exit Sub
End If
If Prepa_calcul_TCD_en_cours Then
Exit Sub
End If
If No_Event Then
No_Event =3D False
Exit Sub
End If
'*************************************************************
il est fastidieux de devoir corriger partout si j'ai une condition
suppl=E9mentaire.
J'aimerai remplacer ceci par

If Cond_Sortie then
Exit SUB
end IF


et, une fonction qui retourne un booleen (True / False)


If calcul_TCD_en_cours Then
Cond_sortie =3D True
End If
If Prepa_calcul_TCD_en_cours Then
Cond_sortie =3D True
End If
If No_Event Then
No_Event =3D False
Cond_sortie =3D True
End If

je ne sais pas pr=E9cis=E9ment =E9crire la fonction qui retourne la valeur
bool=E9enne.

Pouvez vous =E9clairer ma lanterne ?

Merci

Jos=E9

2 réponses

Avatar
lSteph
Bonjour,
(Pas vraiment compris)
Si c'est pour l'écriture du code rechercher remplacer devrait te simplifier
le travail ou tu écrases tout en une seule plus longue condition
tu peux utiliser Or pour signifier plusieurs conditions possibles, la
condition renvoie déjà un booleen


sinon ;o) lorsqu'il n'y a pas de Sinon on peut écrire ceci plus simplement:

If calcul_TCD_en_cours or Cond_Sortie Then exit sub

de même:

If No_Event Then No_Event = False :Exit Sub

'lSteph

"Alfred WALLACE" a écrit dans le message de news:

Bonjour :-)))

j'utilise à plusieurs points de mes routines ceci :

' ON TESTE SI L'ON DOIT RESTER ICI OU NON ****
If calcul_TCD_en_cours Then
Exit Sub
End If
If Prepa_calcul_TCD_en_cours Then
Exit Sub
End If
If No_Event Then
No_Event = False
Exit Sub
End If
'*************************************************************
il est fastidieux de devoir corriger partout si j'ai une condition
supplémentaire.
J'aimerai remplacer ceci par

If Cond_Sortie then
Exit SUB
end IF


et, une fonction qui retourne un booleen (True / False)


If calcul_TCD_en_cours Then
Cond_sortie = True
End If
If Prepa_calcul_TCD_en_cours Then
Cond_sortie = True
End If
If No_Event Then
No_Event = False
Cond_sortie = True
End If

je ne sais pas précisément écrire la fonction qui retourne la valeur
booléenne.

Pouvez vous éclairer ma lanterne ?

Merci

José
Avatar
FxM
Bonjour,

Sous toutes réserves (non testé, blabla machin) :

Public function Cond_sortie()
Cond_sortie = false
If calcul_TCD_en_cours Then Cond_sortie = True
If Prepa_calcul_TCD_en_cours Then Cond_sortie = True
End function

Voire ...
Public function Cond_sortie()
Cond_sortie = calcul_TCD_en_cours OR Prepa_calcul_TCD_en_cours
End function

@+
FxM



Bonjour :-)))

j'utilise à plusieurs points de mes routines ceci :

' ON TESTE SI L'ON DOIT RESTER ICI OU NON ****
If calcul_TCD_en_cours Then
Exit Sub
End If
If Prepa_calcul_TCD_en_cours Then
Exit Sub
End If
If No_Event Then
No_Event = False
Exit Sub
End If
'*************************************************************
il est fastidieux de devoir corriger partout si j'ai une condition
supplémentaire.
J'aimerai remplacer ceci par

If Cond_Sortie then
Exit SUB
end IF


et, une fonction qui retourne un booleen (True / False)


If calcul_TCD_en_cours Then
Cond_sortie = True
End If
If Prepa_calcul_TCD_en_cours Then
Cond_sortie = True
End If
If No_Event Then
No_Event = False
Cond_sortie = True
End If

je ne sais pas précisément écrire la fonction qui retourne la valeur
booléenne.

Pouvez vous éclairer ma lanterne ?

Merci

José