image
image
image
image
image
 
   
Assistance Fonction Excel
assistance Excel
assistance Excel
assistance Excel
 
Fiches vb fonctions
 


Quelques Fonctions

 

 

On va retrouver dans VB les fonctions standard présentes dans la pluspart des langages.

Nous inventorions certaine fonctions plus "algorithmiques":

Traitement des chaînes :

  • Mid (Nomdechaîne, nombre1, nombre2) : renvoie une chaîne, extraite de Nomdechaîne, commençant au caractère numéro nombre1 et faisant nombre2 caractères de long
  • Len (Nomdechaîne) : renvoie le nombre de caractères de Nomdechaîne.

Et bien d'autres ! Quelques nouveautés à ce propos :

  • LTrim (Nomdechaîne) : renvoie la chaîne Nomdechaine, débarrassée de tous les espaces se trouvant à gauche.
  • Rtrim (Nomdechaîne) : renvoie la chaîne Nomdechaîne, débarrassée de tous les espaces se trouvant à droite.
  • AllTrim (Nomdechaîne) : renvoie la chaîne Nomdechaîne, débarrassée de tous les espaces se trouvant à droite et à gauche.

Ces trois fonctions sont particulièrement utiles dans le traitement des fichiers texte (voir partie 8).

Fonctions numériques :

  • Int (nombre)  : renvoie la partie entière de ce nombre
  • Rnd ()  : renvoie un nombre pseudo-aléatoire compris entre 0 (inclus) et 1 (exclu). NB : pour que Rnd () ne renvoie pas le même nombre, ou la même série de nombres, à chaque exécution, il faut systématiquement le faire précéder de l’instruction Randomize (toute seule, sur une ligne)
  • Val (Chaîne) : renvoie un nombre si Chaîne est composée de chiffres
  • Str (Nombre)  : renvoie Nombre sous forme de chiffres (c'est-à-dire de caractères)

 

la fonction MsgBox :

 

Sii vous souhaitez envoyer des messages riches, compliqués et/ou présentés d’une manière originale, la seule solution reste de programmer des Form correspondant à vos souhaits et de passer les instructions VB nécessaires pour qu’elles contiennent les informations voulues.

 

Si votre seule ambition, à un moment donné d’une application, est d’envoyer un message à l’utilisateur qui se limite à un texte, ou à un chiffre, ou même à une combinaison des deux, avec comme seuls boutons possibles un bouton OK, Annuler, etc., alors VB met à votre disposition la fonction MsgBox.

 

Vous pourrez ainsi envoyer à l’écran des mini-boîtes de dialogue d’un type bien connu par tous les utilisateurs de Windows, du style :

 

une petite boîte de dialogue comme celle présentée ci-dessus, si elle envoie bel et bien un message à l’utilisateur, récupère également une réponse de cet utilisateur (sur quel bouton a-t-il appuyé).

 

La syntaxe de la fonction MsgBox est :

Variable = MsgBox (texte1, integer, texte2, ... )

La fonction MsgBox comporte donc trois arguments essentiels, qui sont respectivement :

  • le texte du message à envoyer
  • le style des boutons et de l’icône éventuelle à faire figurer sur le message
  • le texte de la barre de titre

En ce qui concerne les deux arguments de type texte, aucun problème. En revanche, le deuxième argument, de type Integer, mérite qu’on s’y arrête. Cet Entier (Integer) va donc avoir pour rôle de spécifier tout à la fois le type d’icône employée dans la boîte de message, et l’échantillon des boutons proposés à l’utilisateur. Toutefois, cet argument peut être spécifié de deux manières différentes qu’il convient de connaître :

  • Chaque possibilité d’icône ou de boutons est associée à un nombre entier (voir l’Aide du logiciel). Pour obtenir la combinaison voulue, il suffit d’additionner les nombres correspondants, et c’est cette somme qui sera le deuxième argument.
  • L'autre façon de spécifier cet argument consiste à employer des Constantes VB. Ce sont des mots réservés du langage, qui sont traduits par le compilateur en nombre entiers. Du point de vue du résultat, cette solution est donc strictement équivalente à la précédente, où on entrait directement des nombres. En revanche, certains programmeurs la préféreront en raison de la plus grande lisibilité qu’elle introduit dans le code. A noter que Ces Constantes VB ne s’inventent pas ! Elles figurent dans l’Aide du logiciel, et c’est là qu’il faut les chercher (elles apparaissent toutefois sous forme de liste déroulante lorsqu'on entre le code dans l'éditeur. Avec un tout petit peu d'habitude, le choix en est grandement facilité…

A titre d’illustration, la boîte de dialogue située au-dessus pourrait être indifféremment programmée par :

 

Texte = "Enregistrer les modifications (...) ?"
Titre = "Microsoft FrontPage"
Toto = MsgBox ( Texte, 51, Titre )

 

Ou par :

 

Texte = "Enregistrer les modifications (...) ?"
Titre = "Microsoft FrontPage"
Toto = MsgBox (Texte, vbExclamation + vbYesNoCancel, Titre)

 

Tout cela n’épuise pas la question de la valeur renvoyée par la fonction MsgBox, valeur qui va donc se retrouver dans la variable Toto. On a vu que cette valeur correspondait au bouton sur lequel l'utilisateur aura appuyé pour clore la boîte de message.

 

On pourra donc tester la valeur de la variable Toto pour déterminer quel était ce bouton (s'il y en avait plus d'un, évidemment…).

 

Là aussi, ce test peut-être écrit soit sous la forme d'une valeur entière, soit sous celle d'une constante VB, les renseignements à ce sujet se trouvant dans l'Aide. En l'occurrence, on pourrait avoir à la suite du code précédent des lignes du genre :

 

If Toto = 6 Then
' enregistrement


Elseif Toto = 7 Then
' pas d'enregistrement


Else
' annulation
EndIf

Ou bien :

If Toto = VbYes Then
' enregistrement


Elseif Toto = VbNo Then
' pas d'enregistrement


Else
' annulation
EndIf

 

En résumé, MsgBox est une fonction qui vous donne accès à un type de Form préprogrammé, aux fonctionnalités limitées, mais à la programmation très rapide.

 

La seule exception à tout ce qui précède concerne l'utilisation de MsgBox avec toutes les options par défaut : pas d'icônes, juste un bouton OK, et juste un message (pas de titre). La syntaxe peut être alors considérablement simplifiée pour donner :

 

MsgBox Truc

…Qui affichera donc la valeur de la variable Truc dans une boîte.

 

 
Retour vers l'index des fiches VB
 

 
image
image