Aller au contenu

Messages recommandés

Posté(e)

Question de culture générale : ;)

Gile, pourquoi une fonction doit toujours renvoyer quelques chose en Vb.net ?

 

En VBA ce n’étais pas nécessaires

Ex :

 

 Public Function MaFonction()
. . . .
End Function

 

C’était suffisant

 

Posté(e)

Salut,

 

Pour les questions générales concernant VB.net, tu devrais plutôt te tourner vers un forum spécifique VB.net

 

Je n'ai jamais pratiqué VB(A) et connais mal les spécificité de VB.net, mais il s'agit là de notions de base.

 

On distingue deux types d'instructions (ou de méthodes) : les procédures qui ne retourne rien et les fonctions qui retournent une valeur.

 

En LISP (langage fonctionnel), il n'y a que des fonctions et donc toujours une valeur retournée (fusse-t-elle nil)

 

En C#, on distingue les procédures en spécifiant void (rien) à la place du type de retour dans la signature de la méthode.

 

En VB, on nomme Sub les procédures et Function les fonctions et ce, dans tous les langages VB y compris VBA.

S'il est possible de définir une fonction sans spécifier de type de retour en VBA, c'est que ce langage est peu exigeant (ce qui n'est pas forcément une bonne chose pour un langage de programmation).

 

C'est à mon avis incorrect (même si c'est toléré par VBA) d'utiliser Function à la place de Sub.

D'après ce que tu dis VB.net ne le tolère pas et je trouve ça plutôt plus cohérent.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bonjour,

 

Je ne suis pas un crack en VBA mais je peux dire qu'une fonction renvoie forcément une valeur.

Si le type de la valeur renvoyée par la fonction n'est pas déclarée, c'est un Variant.

 

Aide de VBA:

Si aucune valeur n'est attribuée à l'argument name, la procédure renvoie une valeur par défaut : une fonction numérique renvoie la valeur 0, une fonction de type chaîne de caractères, une chaîne de longueur nulle ("") et une fonction de type Variant, la valeur Empty. Une fonction qui renvoie une référence d'objet renvoie Nothing si aucune référence d'objet n'est attribuée à l'argument name (à l'aide de l'instruction Set) à l'intérieur de la procédure Function.

 

[Edité le 19/2/2010 par Titifonky]

www.le-metal.net, sur la métallerie

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité