IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Aide sujet VBA


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2
    Par défaut Aide sujet VBA
    Etant en master Gestion des risques financiers, je fais du VBA en informatique. Le prof va assez vite et j'ai du mal à comprendre. Voici un sujet d'annales qu'il a proposé :


    Question 1
    Renommez le module "Module" en "Essai". (ok lol)
    Dans la fonction « Essai_Fonction_Longue », remplacez les caractères «AAAA», «BBBB»,«CCCC» et «DDDD» en fonction des instructions ci-dessous:
    - Le contenu de la cellule active doit apparaître dans la variable «Prix_n».

    - Le contenu de la cellule au-dessous de la cellule active doit apparaître dans la variable«Prix_n_1».

    - Complétez la ligne de code commençant par «Inflation». Le taux d’inflation doit être transféré dans la variable.

    - Le résultat final doit apparaître dans la cellule située deux lignes au-dessous de la cellule active.


    Le module en question se présente comme suit:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     Sub Essai_Fonction_Longue() 
        '   Solution détaillée avec l'utilisation de variables 
        Dim Inflation As Double ' Variable pour le taux d'inflation 
        Dim Prix_N As Double    ' Variable pour indice des prix de l'année n 
        Dim Prix_N_1 As Double  ' Variable pour indice des prix de l'année n-1 
     
        '   Récupération des données à partir de la cellule courante 
         Prix_N = AAAA 
         Prix_N_1 = BBBB 
        '   Calcul du taux d'inflation 
        Inflation = CCCC 
        '   Restitution du résultat 
         DDDD 
     
     End Sub
    Il faut donc remplacer les groupes de 4 lettres selon les indications au-dessus. Mais je ne comprends rien :S Pouvez vous m'aider s'il vous plait !


    Question 2
    À l’ouverture du classeur, le calcul du taux d’inflation doit être effectué automatiquement.
    Programmez cette fonction.

    => Il me semble qu'il faut mettre la formule sous une fonction et l'inclure dans"thisworkbook" option "open", non ?

  2. #2
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut aide sujet VBA
    Bonjour,

    question 1 : Peut-être cela mais sans garantie du gouvernement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    Sub Essai_Fonction_Longue()
        '   Solution détaillée avec l'utilisation de variables
        Dim Inflation As Double ' Variable pour le taux d'inflation
        Dim Prix_N As Double    ' Variable pour indice des prix de l'année n
        Dim Prix_N_1 As Double  ' Variable pour indice des prix de l'année n-1
     
        '   Récupération des données à partir de la cellule courante
         Prix_N = ActiveCell
         Prix_N_1 = ActiveCell.Offset(1, 0)
        '   Calcul du taux d'inflation
         Inflation = (Prix_N - Prix_N_1) / 100
        '   Restitution du résultat
         ActiveCell.Offset(2, 0) = Inflation
     
     End Sub
    Question 2 : je pense que ta suggestion est la bonne.

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Edit : J'ai été méchant, navré
    Supposons que le prix N soit en A1 de la feuille active

    Question 2: A mettre dans le module Thisworkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open()
    ActiveSheet.Range("A1").Select
    Call Essai_Fonction_Longue
    End Sub
    Question 1: A mettre dans un nouveau module Essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Essai_Fonction_Longue()
        '   Solution détaillée avec l'utilisation de variables
        Dim Inflation As Double ' Variable pour le taux d'inflation
        Dim Prix_N As Double    ' Variable pour indice des prix de l'année n
        Dim Prix_N_1 As Double  ' Variable pour indice des prix de l'année n-1
     
        '   Récupération des données à partir de la cellule courante
         Prix_N = ActiveCell
         Prix_N_1 = ActiveCell.Offset(1, 0)
        '   Calcul du taux d'inflation
         Inflation = (Prix_N / Prix_N_1) - 1
        '   Restitution du résultat
         ActiveCell.Offset(2, 0) = Inflation
     
     End Sub
    Taux de variation = [(Arrivée - Départ) * 100]/Départ = (Arrivée/Départ)-1
    Mais pas (Arrivée - Départ)/100

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut aide sujet VBA
    Bonjour Engue Engue,

    Effectivement, j'ai un neurone qui a disjoncté.

    C'est la partie purement VBA qui chagrinait Menzo d’après ce que j'ai compris.

    C'est pourquoi je n'ai pas apporté la garantie du gouvernement à quelqu'un qui est tout de même en master de gestion et sait mieux que moi les bonnes formules à utiliser.

    Cordialement.

Discussions similaires

  1. [aide] debeugage VBA
    Par Anorgasmophobie dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 08/05/2007, 15h16
  2. insertion d'information dans une table à l'aide de VBA
    Par bacchus30 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 22/03/2007, 16h31
  3. Besoin d'aide en vba
    Par Grechtouille dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/02/2007, 11h07
  4. Réponses: 3
    Dernier message: 08/12/2006, 16h22
  5. Impossible d'accéder à l'aide de VBA
    Par bestall666 dans le forum VBA Access
    Réponses: 9
    Dernier message: 03/08/2006, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo