begin process at 2008 05 12 11:40:24
1 170 233 membres
135 nouveaux aujourd'hui
13 957 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[DÉBUTANTS] DÉCOUVRIR L'ENVIRONNEMENT DE VISUAL BASIC SOUS MICROSOFT EXCEL (ET SES FENÊTRES)


Information sur le tutorial

Catégorie :VBA Date de création : 03/04/2007 05:13:57 Vu : 19 135 fois

Note :
8,8 / 10 - par 5 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note


Description

Ce tuto présente les principaux éléments à connaitre de l'environnement VB sous Microsoft Excel, je ne traite pas le code ici, du moins pas pour le moment, mais la découverte de cet outil.

Tutorial

Sommaire

  1. Présentation de Visual Basic for Application
  • Accéder à l’interface de développement
  • Les différents éléments de l’éditeur de Visual Basic
  • L’Explorateur de Projets
  • La fenêtre des Propriétés
  • L’Explorateur d’Objets
  • L’Aide de Visual Basic pour Applications
  • La fenêtre de code et les objets par défaut d’un nouveau classeur
  • ThisWorkbook
  • Sheet
  • Les objets supplémentaires d’un nouveau classeur

Présentation de Visual Basic for Applications (via Excel)


Visual Basic pour Applications (VBA) est un outil permettant d’automatiser des tâches d’une des applications de Microsoft Office.

Ici on va parler de Microsoft Excel (et donc VBA Excel).

Tout d’abord, avant de commencer, une information sur la différence entre VBA et VB6 : VB6 sert à créer des applications autonomes (*.exe) alors que VBA a besoin d’une application hôte pour fonctionner. Il multiplie les possibilités d’Excel.


Accéder à l’interface de développement de VBA (l’IDE)

Vous avez trois possibilités, une fois Excel ouvert :

* la combinaison des touches Alt + F11

* en allant dans le menu Outils, Macro et Visual Basic Editor

* en faisant un clique-droit sur la barre d’outils, rajouter Visual Basic et en cliquant sur le bon pavé

Voilà, maintenant que l’on sait ouvrir l’éditeur de Visual Basic, nous allons prendre connaissance avec :


Les différents éléments de l’éditeur de Visual Basic :

L’Explorateur de Projets :

Il affiche tous les projets chargés, à savoir EuroTool (macro complémentaire de Microsoft sur les conversions €uro), non modifiable ; ProjetNico (macro complémentaire faite par mes soins) ; et le plus important :

VBAProject-Classeur1, avec les composants d’origine (les 3 feuilles et ThisWorkBook).

Nous y reviendrons plus tard.


La fenêtre des Propriétés :

Pas très parlant pour le moment, mais c’est cette fenêtre qui liste toutes les propriétés d’un objet.


L’Explorateur d’Objets :


Il faut appuyer sur la touche F2

Outil indispensable, il permet de savoir à quelle classe appartient tel ou tel objet, les propriétés / méthodes / évènements d’un objet ou d’une classe.

Pour mieux comprendre les classes objets, Excel en propose plus d’une centaine. Parmi ces objets, vous pouvez trouver les classeurs, les feuilles de calcul et les cellules.
Tous est hiérarchisé, un objet peut en contenir un autre, comme le classeur, qui contient des feuilles, contenant elles mêmes des cellules.

Les symboles :

Classe

Module

Enumérations

Propriété

Propriété par défaut

Evènement

Constante


L’Aide de Visual Basic pour Applications :

Comme d’habitude, F1 convient bien à la situation.

Je tiens à préciser pour les anglophobes que l’aide est en français, complète et très bien expliquée. Bref, tout abus de celle-ci est conseillé (et à utiliser sans modération).


Maintenant le tour du propriétaire étant fait, je vais vous présenter la fenêtre de code, mais dans un nouveau chapitre, en utilisant l’objet ThisWorkBook


La fenêtre de code et les objets par défaut d’un nouveau classeur :


ThisWorkBook :

Bon, vous vous souvenez de notre Explorateur de Projet ?

Double-cliquez sur ThisWorkBook, une fenêtre blanche se crée :

Vous voyez deux zones de listes, une avec le mot (Général), et une avec le mot (Déclarations).

Là où se trouve Général, vous y trouverez la liste des objets attachés à l’objet ThisWorkBook (en l’occurrence, le seul objet disponible est WorkBook, qui représente notre classeur).

Ensuite, Déclarations représente l’entête du Module (donc l’entête de ThisWorkBook). C’est ici que nous allons placer certaines déclarations (sans jeu de mots…) comme les déclarations de variables Public, ou encore les types de données personnalisées (Enumérations aussi) puis les API Windows (ou autres DLLs).

Cette zone de liste propose également les procédures / fonctions que vous créez, ainsi que les évènements attachés à un objet. Nous allons prendre l’exemple de notre classeur.

Pour faire ceci, choisissez donc WorkBook :


L’évènement par défaut apparaît :

Vous vous en doutez, le code placé entre ces deux lignes sera exécuté à chaque fois que le classeur s’ouvre !

Il est possible de choisir d’autres évènements que WorkBook_Open :


Si vous voulez savoir à quoi servent tous ces évènements, je vous invite à appuyer sur votre touche F1 :

En tapant WorkBook dans la zone de recherche de l’aide, il est proposé tout un tas de rubriques, j’ai sélectionné WorkBook (objet), et je suis arrivé sur la page d’aide, avec la liste des évènements (ainsi que des propriétés et méthodes)

Comme vous pouvez le constater, je n’ai pas menti sur l’évènement WorkBook_Open

Autre possibilité d’afficher les membres d’un objet, c’est notre touche F2 (explorateur d’objets) :

En tapant WorkBook dans la zone de recherche en haut de l’explorateur d’objets, j’obtiens le résultat de la recherche. En sélectionnant le bon, les membres s’affichent à leurs tours.

Ce qu’il faut retenir, c’est que les évènements listés avec l’objet ThisWorkBook représentent les évènements au niveau classeur (celui où se trouve le code, donc ici Classeur1.xls)


Sheet :

Allez, on va reprendre notre explorateur d’objets :

Ici il y aura le même nombre de feuilles que dans votre classeur.

Double-cliquez sur Feuil1.

Dans la zone Déclarations, sélectionnez non pas WorkBook mais WorkSheet, représentant donc la feuille sur laquelle vous avez cliqué.

La liste des évènements n’aura donc d’effets que sur ladite feuille, et non les autres.

Je vous passe donc les évènements (maintenant que vous savez faire) au niveau feuille, le but dans ce tutorial étant de découvrir l’environnement de développement.


Les objets supplémentaires d’un nouveau classeur :

Vous pouvez rajouter 3 types d’objets :

  • Module
  • Module de Classe
  • UserForm

Par le menu Insertion :

Le Module sert à stocker des procédures / fonctions en majeure partie de type Public (donc accessible depuis tout le projet) mais aussi en Private.

Le Module de Classe lui, vous permet de créer de nouvelles classes d’objet, avec ses propriétés / méthodes / évènements.

Je vais plutôt m’attarder sur le UserForm, qui est une interface utilisateur. Insérez-en un.

Dans cette interface, vous allez pouvoir y placer des objets (des boutons, des zones de listes, etc..), contenus dans la boite à outils.

(menu Affichage, boite à outils, si elle n’apparaît pas)

A part les 2 du bas, tous les autres contrôles sont ceux par défaut)

Pour placer un objet, il suffit de le sélectionner dans la boite à outils, et de le dessiner sur le UserForm.

Pour rajouter un objet qui n’est pas dans la liste par défaut, faite un clique droit sur la boite à outils, sélectionnez contrôles supplémentaires.

Une fenêtre s’affiche, avec les objets déjà insérés mais aussi plein d’autres objets, il suffit de le cocher pour le voir apparaître dans la boite à outils.

Pour vous donner un exemple, j’ai coché Windows Media Player, et maintenant, il apparaît dans la boite à outils :

Vous pouvez donc le dessiner sur votre UserForm, comme un contrôle standard :

Pour l’utilisation de ce WMP, vous trouverez de nombreux site qui expliquent comment l’utiliser.


Bon, je pense avoir fait le tour des éléments principaux à montrer. Je vais faire en sorte par la suite de fournir des codes en guise d’exemples, pour mieux guider l’utilisation des objets d’un classeur ;)

03 avril 2007 22:14:00 :
Ajout sommaire (titres)
03 avril 2007 22:37:19 :
..
04 avril 2007 00:49:22 :
Centrage images
04 avril 2007 10:19:25 :
..
04 avril 2007 10:23:17 :
Mise en forme
04 avril 2007 10:26:18 :
.
09 avril 2007 21:42:29 :
MAJ pour cache
17 mai 2007 04:04:24 :
Corrections des fautes énumérées par Manu (merci) ;) ~~ Mise en place des perspectives pour les images
17 mai 2007 04:19:58 :
..
  • signaler à un administrateur
    Commentaire de mortalino le 03/04/2007 05:19:08

    Arf, désolé pour les points d'intérogations, au lieu des apostrophes.

    D'ailleurs si Nix passe par là, pour info, j'ai importé ce tuto via Word 2007.
    Et j'aurai une question à te poser pour la suite, si je fais un lien hypertexte au début (sommaire) pour se rendre par exemple au milieu du tuto (pas encore testé), est-ce que ici ça fonctionnera ?
    Merci!

    Bon n'hésitez pas à formuler toutes remarques constructives, demandes supplémentaires.
    Je vais essayer de rajouter des codes exemples par la suite.

    ++

  • signaler à un administrateur
    Commentaire de Nix le 03/04/2007 12:31:52 administrateur CS

    Effectivement on a identifié le pb, on va mettre à jour dès que possible, on te préviendra si tu veux pour mettre reposter (en tant que mise à jour) ton docx que cela corrige le pb.
    Au passage, n'hésite pas à utiliser les "Titre 1" et "Titre 2" dans le doc, on les gère et tu verras la mise en page donne une petite touche supplémentaire sympa ;)

  • signaler à un administrateur
    Commentaire de mortalino le 03/04/2007 21:38:01

    Salut Nix,

    merci pour tes infos, je vais tenter une MAJ cette nuit, en rajoutant les titres ;)
    J'ai eu Cyril pour ça qui m'a donné une piste.

    En tout cas, c'est vraiment agréable de pouvoir importer le tuto depuis un docx, car la mise en page reste belle, et pouvoir afficher des images est très intéressant.

    Bonne continuation,
    ++ ;)

  • signaler à un administrateur
    Commentaire de PCPT le 04/04/2007 08:32:07 administrateur CS

    cache mis à jour
    bonne continuation ;)

  • signaler à un administrateur
    Commentaire de mortalino le 04/04/2007 11:02:03

    Bon j'ai suivi la mise en forme, cependant il y a un bug d'affichage sous IE7, à savoir plus rien est visible après le premier titre.
    Par contre tout est visible sous FF2.

    (1 MAJ n'apparait pas encore, réduction du texte --> police 11 à 9)
    Attendre un peu pour voir ce que ça donne.

    ++  ;)

  • signaler à un administrateur
    Commentaire de mortalino le 04/04/2007 11:04:59

    Bon annulation de mon dernier comm, après sa validation, le tuto s'est mis à jour même sous IE7.
    (mais manque premier titre)

    ++

  • signaler à un administrateur
    Commentaire de mortalino le 04/04/2007 11:07:44

    Sinon côté esthétique, ça fait super sympa tes barres de titres, avec la mascotte  ;)
    (et j'aime bien la patte pour les sous-titres, peut-être la faire plus foncée pour bien la voir) !

  • signaler à un administrateur
    Commentaire de econs le 17/04/2007 22:07:55 administrateur CS

    C'est plus du tutorial, c'est carrément de l'assistanat :o)
    Beau boulot en tous cas, et bien présenté. VBA est un peu le parent pauvre de la famille Visual Basic, c'est bien d'en parler !
    Et comme c'est vachement bien foutu, et que sur le fond je n'ai rien à redire, rendons ce tutorial 100% parfait avec ces quelques remarques de forme (oui, je sais, je fais mon chieur de service, mais à cette heure-ci, je ne sais faire que çà)

    * Visual Basic pour Applications (VBA) est [un] outil permettant ...
    * Nous y reviendron[s] plus tard.
    * représentant donc la feuille sur laquelle vous avez cliqu[é]
    * (maintenant que vous [s]avez faire)
    * s’affiche, avec les objets déjà insér[és] mais aussi plein[] d'autres ...

    Maintenant, c'est parfait, et çà vaut largement 10. :o)
    Vivement la suite !

  • signaler à un administrateur
    Commentaire de mortalino le 17/04/2007 22:16:34

    Salut Manu,

    merci pour la note ;)

    Ok Ok pour les fautes, je les corrigerai rapidement.
    Je vais aussi modifier mes images, j'ai vu le tuto de PCPT, ses screens retouchés sont parfaits, à moi de trouver une perspective + sympathique qu'actuellement (et sans recopier PCPT) :p

    La suite ? beh oui il y en aura une, mais autre sujet. Après la découverte de l'environnement, il y aura la découverte de la programmation (objets d'Excel, explications et exemples pas à pas).
    Par contre ça me prendra certainement du temps pour le mettre en place.

    Merci pour tes encouragements,
    @ ++  ;)

  • signaler à un administrateur
    Commentaire de econs le 24/05/2007 13:30:32 administrateur CS

    Je me disais justement en regardant les images : "Tiens, il a adopté la PCPT touch" :o)
    Je ne te mets pas la pression pour la suite, prends le temps de faire les choses correctement.

  • signaler à un administrateur
    Commentaire de Drikce06 le 24/05/2007 13:44:36

    Salut, oui c'est ce que je me suis dis aussi le PCPT touch, mais c'est super sympas comme présentation de tuto, je met 10 pour la présentation. Après le contenu je note pas, je me sans pas concerné.

  • signaler à un administrateur
    Commentaire de mortalino le 24/05/2007 13:53:40

    Et ouais, dur dur de ne pas le recopier :$

    J'ai tenté diverses perspectives, mais j'en ai pas trop fait (ombre, arrondi sur l'arrière, autres options), mais ça pourrait encore être plus sympa.

    Problème : c'est long à faire  :)

    Merci pour la notes Drikce ;)
    ++

  • signaler à un administrateur
    Commentaire de erirob le 15/06/2007 11:36:05

    Bonjour,
    Je suis totalement débutant.J'ai créé un userform pas de soucis.Je souhaite qu'il apparaisse sur ma feuille2.Comment faire?
    Merci

  • signaler à un administrateur
    Commentaire de mortalino le 15/06/2007 15:13:31

    Salut,

    il faut que quand tu en as besoin, tu le demandes par l'instruction
    NomDuUserForm.Show

    et pour le désactiver
    Unload Me

    Si tu as besoin de l'afficher dès que ton classeur s'ouvre, met le dans l'évènement WorkBook_Open, et si tu dois (pendant que ton UserForm est affiché) pouvoir travailler sur les cellules, passe lui la propriété SowModal à False.

    @++

  • signaler à un administrateur
    Commentaire de lexsty le 07/10/2007 10:56:47

    Salut MORTALINO
    Ce tutoriel est très sympa
    Il permet assez vite de se situer dans VBA et donc d'y faire
    des premiers pas.
    A plus
      JP

  • signaler à un administrateur
    Commentaire de lexsty le 07/10/2007 10:58:58

    Ton aide mérite un 10

  • signaler à un administrateur
    Commentaire de liloune35 le 06/01/2008 01:13:04

    merci j ai tout compris grâce à toi

  • signaler à un administrateur
    Commentaire de DOM1300 le 19/01/2008 15:43:01

    merci tres interessant je cherche la suite

  • signaler à un administrateur
    Commentaire de papiscom le 01/04/2008 02:20:59

    Salut;bien présenté,simple et compréhensible.Merci bon courage.

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS