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 :

Exercice VBA : Échéancier


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Par défaut Exercice VBA : Échéancier
    Bonjour,

    Cela fait 3 heures que je suis sur un exercice vba donné par mon prof d'informatique et rien n'y fait je n'y arrive pas.

    L'énoncé de l'exercice :
    Exercice 5 : calcul d’échéancier sur un instrument financier
    Vous allez calculer les dates de paiement d’un instrument financier qui verse des revenus pouvant être
     Trimestriels
     Semestriels
     Annuels
    La fonction s’appellera Schedule. Ses arguments sont
    1. La date d’échéance
    2. La périodicité des paiements sous forme de nombre entier valant 3 pour une fréquence trimestrielle, 6 si elle est semestrielle, etc.
    Le résultat de la fonction sera un tableau de dates.
    Vous allez, pour cela, partir de la date d’échéance et revenir en arrière, tous les x mois, à l’aide d’une boucle conditionnelle, jusqu’à ce que vous ayez atteint et juste dépassé la date du jour.
    Vous utiliserez les fonctions DateAdd et WeekDay, ainsi évidemment que la valeur Date.
    Si une date théorique tombe un WE, vous prendrez le 1er jour ouvré suivant, à moins que cela ne vous fasse passer au mois suivant : dans ce cas vous prendrez le 1er jour ouvré précédent.
    Je vous fais grâce du calendrier des jours fériés ISDA.


    Voilà pour l'instant ou je bloque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub echeancier()
    Dim Dateecheance As Date
    Dim Periode As Integer
    Dim numero As Integer
    numero = 21
    MyInput = InputBox("Taper la date d'échéance")
    If MyInput = Dateecheance Then  'je veux pourvoir mettre n'importe quelles dates'
    MyInput = InputBox("Taper Periode")
    If MyInput = 3 Then
    While Dateecheance = "???"  'date echeance - 3 mois'       Cells(numéro, 6) = "???"
           numero = numero + 1
        Wend
    End If
    End Sub
    Je sais que je suis encore très loin du résultat mais comme je n'ai aucune notion en VBA je commence étape par étape.

    J'aurais besoin de quelque tuyaux svp.
    Je vous remercie pour votre aide.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Pour commencer, l'énoncé parle d'une fonction, et la tu part sur une procédure qui semble servir d'interface avec l'utilisateur.
    Cela me semble être hors sujet.

    Un peu de lecture qui devrait t'aider.
    http://silkyroad.developpez.com/vba/fonctions/
    http://mhubiche.developpez.com/vba/f...ions/datetime/

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Par défaut
    Bonjour,

    Merci beaucoup, je vais lire tout çà et j'espère résoudre mon exercice.

    PS : Je laisse la discussion ouvert au cas où j'aurai besoin de revenir vers vous.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2012
    Messages : 63
    Par défaut
    Bonjour,

    biilou, tu pourras aussi partager ta solution (ou la correction de ton prof d'info ), ça pourrai servir à d'autres

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Par défaut
    Bonjour,

    Je reviens vers vous car je n'y arrive pas. J'ai vraiment essayé mais peu importe j'ai tout le temps l'impression qu'il y a 10000 possibilités pour faire mon exercice alors que d'après ce que j'ai compris il y en a que une seule.
    Même après avoir lu les tutos vba je suis perdu. J'ai des idées mais n'arrivent pas à les appliquer parce que je n'ai aucune base en vba. Pour moi je voulais procéder de cette manière :
    étape 1 : arriver à enlever un mois à une date donnée (fonction dateadd)
    étape 2 : réaliser une boucle qui me permettre d'enlever un mois à cette date donnée jusqu'à que la période soit atteint (3 = 3 mois, 6 = 6mois...) avec la fonction while.
    étape 3 : afficher cela en forme de tableau sur une feuille excel.

    Je n'arrive même pas à faire la première étape.

    J'en viens à ma requête, serait il possible de me mettre sur le bon chemin (ex : que et où dois-je utiliser function, sub, dateadd, dateserial....) svp?

    Je ne demande en aucun cas de faire le travail à ma place je suis prêt à tout faire tout seul mais j'ai l'impression que ça va me prendre des années si je ne suis pas aidé.

    Merci beaucoup.

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Pour l'étape 1, je pense qu'en faisant f1 sur l'instruction DateAdd tu devrais trouver la solution
    Quand tu auras compris l'étape 1 tu devrais trouver l'étape 2 avec DateAdd (a moins que la boucle soit obligatoire)

    Dis nous quand tu en sera la

Discussions similaires

  1. Exercices VBA (Débutant)
    Par bobinette33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/06/2010, 05h25
  2. [WD-2007] Problème exercice VBA Word
    Par Elbimbo dans le forum VBA Word
    Réponses: 3
    Dernier message: 25/05/2009, 13h06
  3. [VBA-E] Exercices VBA Excel
    Par Herman dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2007, 06h05

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