.       .   

 .   

   . Accueil          .

 Connexion   

 S'inscrire   

 FAQ   

 Recherche    Documents  

 Annuaire   

Photos     Détente      Banque     Chat         Forum        . .                  .    .




 

VBA - compléments et programmation

25 septembre 2007

-  Fonctions de date et d’heure

  • La fonction Date donne la date système. Pour aujourd’hui Date retournera la valeur "08/04/98"
  • La fonction Time donne l’heure système. Pour maintenant Time retournera la valeur "11:10:00"
  • La fonction Day() donne le numéro du jour dans le mois. Pour aujourd’hui Day(Date) retournera la valeur 8
  • La fonction Month() donne le numéro du mois dans l’année. Pour aujourd’hui Month(Date) retournera la valeur 4
  • La fonction Year() donne le numéro de l’année. Pour aujourd’hui Year(Date) retournera la valeur 1998
  • La fonction WeekDay() donne le numéro du jour dans la semaine sachant que le dimanche porte le numéro 1. Pour aujourd’hui WeekDay(Date) retournera la valeur 4

Cette dernière fonction permet de programmer facilement un "calendrier perpétuel".

-  Procédures et fonctions

Procédures :

Une procédure est un ensemble d’instructions qui participent à une même tâche.

Elle débute par le mot réservé Sub et se termine par End Sub.

Exemple de procédure événementielle :

Private Sub cmdQuitter_Click

End

End Sub

Si un bloc d’instructions doit être utilisé à plusieurs endroits (par exemple dans plusieurs procédures événementielles) il est préférable d’en faire une procédure publique qui sera utilisable dans toute la feuille.

Exemple de procédure publique :

Public Sub SaisieNote()

Do

Note = InputBox("Tapez une note")

Loop Until Note>=0 And Note<=20

End Sub

Pour utiliser cette procédure il suffira de l’appeler par son nom : SaisieNote

Fonctions :

Une fonction est aussi un ensemble d’instructions mais qui retourne une valeur contenue dans le nom même de la fonction. Cette valeur doit être affectée au nom de la fonction avant la fin du bloc d’instructions.

Elles débutent par le mot réservé Function et se terminent par End Function. Il faut aussi préciser le type de la valeur retournée.

Exemple de fonction :

Public Function Carré(x) As Single

Carré = x * x

End Function

Par exemple Carré(7) retournera la valeur 49.

-  Les zones de l’éditeur de code

La programmation (événementielle ou non événementielle ) s’implante dans ce que l’on appelle le code de feuille (menu Affichage - Code).

Dans le code de feuille on distingue 3 parties :

  • La partie supérieure est la zone des déclarations (séparée du reste par un trait horizontal). On y place les options et les déclarations de variables publiques. Exemple :

Option Explicit

Public NomJoueur As String

  • La partie suivante est la zone des procédures publiques (chaque procédure est séparée des autres par un trait horizontal). On y place les procédures publiques utilisables par toutes les procédures de la feuille (événementielles ou pas). Exemple :

Public Function Carré(x) As Single

Carré = x * x

End Function

  • Enfin la partie suivante est la zone des procédures événementielles (chaque procédure est séparée des autres par un trait horizontal). Exemple :

Private Sub cmdCalculer_Click()

........................

End Sub

-  Les types de variables

On recommande fortement de déclarer les variables utilisées dans le programme.

  • Integer : de -32 768 à 32 767
  • Long : de -2 147 483 648 à 2 147 483 647
  • Single : décimaux en simple précision : 39 chiffres significatifs
  • Double : décimaux en double précision : plus de 300 chiffres significatifs !
  • String : de 0 à 65 535 octets
  • Variant : de type nombre ou texte selon l’affectation faite

-  Algorithmique

Quand on a un problème à résoudre par programmation on doit tout d’abord trouver une stratégie pour y parvenir.

Il faut bien sur que cette stratégie soit "programmable" dans le langage de programmation choisi. Il faut donc bien connaître les caractéristiques et les possibilités de ce langage.

Le plus souvent on écrit un algorithme en français (c’est la stratégie adoptée) que l’on pourra ensuite coder dans le langage de programmation choisi.

Problème 1 :

Déterminer la carte la plus forte sur un ensemble de 6 cartes posées à l’endroit sur la table.

La résolution de ce problème par un être humain ou par un programme informatique est complètement différente.

Algorithme en français

Prendre la 1ere carte. Noter sa hauteur dans une variable.

De la 2eme à la dernière :

Prendre une carte.

Si sa hauteur est supérieure à celle notée dans la variable elle devient la plus forte

Recommencer

Problème 2 :

Extraire tous les verbes (conjugués ou non) d’un fichier texte de plusieurs pages.

Cela semble assez difficile à programmer (cela l’est en effet) mais réalisable par un "honnête" programmeur (il "suffit" de construire un lexique de tous les verbes...).

Le problème ici est le temps de traitement.

Problème 3 :

Trier en ordre décroissant les nombre contenus dans un tableau de 100 entiers.

Différentes stratégies sont à notre disposition. La plus classique est celle du tri à bulles.

Il s’agit de comparer chaque nombre à son suivant et de mettre en premier le plus grand des deux. On recommence ainsi jusqu’à ce que plus aucune permutation ne soit effectuée. Alors le tableau est trié.

Algorithme en français

Début

Faire

Permuté ¬ 0

Pour i = 1 à 99

Si Case i < Case i+1 alors

Auxiliaire ¬ Case i

Case i ¬ Case i+1

Case i+1 ¬ Auxiliaire

Permuté ¬ 1

Fin de Si

Nouveau i

Recommencer tant que Permuté = 1


[ Imprimer cet article ] [ Haut ]

 
 
 
Commentez cet article



   
 

 
   

 
  Envoyer à un ami
Destinataire  :
(entrez l'email du destinataire)

De la part de 
(entrez votre nom)

(entrez votre email)



[ Imprimer cet article ]

Rechercher :
 

 
Autres articles

VBA : analyse et programmation
VBA : traitements des chaines de caractères
VBA : les structures de contrôle
VBA : interactivité, variables et conditions
VBA : les structures conditionnelles
VBA : tablaux et boucles
Excel : quelques fonctions avancées
Informatique : Les astuces de base
Excel : utilisation et astuces
Programmation VBA - introduction
Macros SAS
Initiation au logiciel SAS
Création de site Internet avec Dreamweaver
Créer votre site Internet avec FrontPage
Initiation aux réseaux
Les bases du réseau Internet
Les virus informatiques


[ Haut ]
 

 

   Contact                                                    © Niant - Copyrightdepot.com                                          CNIL 

Positionnement et Statistiques Gratuites

SPIP , bloOg