3 questions d'une débutante en VBA

colette -  
 Utilisateur anonyme -
Bonjour,

Quelle est la différence entre mettre une procédure sur feuille du classeur et la mettre sous forme de macro dans un module.
Une fonction doit elle écrite sur une feuille de classeur ou dans un module
Quelle est la différence entre la boite à outils formulaire (EXCEL XP) et la boite à outils contrôles. Car il est très facile d'affecter une macro à un bouton avec la boite formulaire, l'option est proposé d'office ,alors que l'on a pas l'option avec la boite à outis contrôle.

Merci

1 réponse

  1. Utilisateur anonyme
     
    Bonjour,

    Une réponse parmi tant d'autres :-)

    1.) Une feuille et une forme sont a peu de chose près la même
    chose du point vue du VBA. On y place du code qui s'y rattache.
    Si toutes les données que tu dois traiter réside sur une feuille,
    autant rester sur la feuille avec des objets contrôles. Sinon,
    s'il s'agit plutôt d'un classeur contenant plusieurs feuilles de
    données, il serait plus sage d'utiliser une forme.

    Lors de l'analyse du problème posé, (encapsulation des
    données), un choix devra être fait en fonction du problème.

    L'appel est aussi différent :
    //Menu Excel
    /Outils/Macro/Macro...

    Celle sur la feuille doit être précédé du nom de la feuille et pas
    celle du module.
    En fait la procédure de la feuille devrait être personnalisé
    aux données de la feuille.

    2.) En créant une fonction sur chacun des objets (feuille et
    forme), tu pourra voir que l'appel sera différent.
    Dans le menu Excel :
    //Insertion/Fonction
    /Personnalisé
    La fonction de la feuille n'apparait pas !

    En fait la fonction de la feuille devrait être personnalisé
    aux données de la feuille ou aux procédure de la feuille.

    3.) Les deux boites se traitent de la même façon. En fait pour
    associer une macro à l'un ou l'autre des objets, un simple
    double clic sur l'objet et on se retrouve dans l'éditeur sous
    l'appel de la macro de l'objet.

    N.B. Avant le double clic, nomme toujours ton objet avec
    un nom représentatif de sa fonction, lors de l'encapsulation
    des données, tu devrais avoir nommé tes variables et tes
    objets.

    ************************************************
    Exemple très simple :

    Algorithme :

    Détermine quel sont les objectifs du programme.
    Ex.:
    [Saisie de données] -> [Calcul des données] -> [Affichage des résultats]

    Encapsulation :

    Quel sont les données.
    Comment lire les données.
    Comment écrire les données.
    Comment afficher les données.

    N.B. Chacune des ses opérations devrait constitué une fonction
    spécifique au bloc de données.

    Analyse globale :
    Stratégie de résolution.
    Choix des variables.
    Choix du type des données.
    Etc...
    **************************************************

    Lupin
    0