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 :

Prorata Dégressif VBA !


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Prorata Dégressif VBA !
    Bonjour les Développeurs , j'ai un petit problème en fait j'ai beau essayé mais je ne sais pas comment introduire les proratas dans ce code pour amortissement dégressif . Est ce que quelqu'un peut m'aider ?

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Sub Btn_demarrer()
     
    Dim montant As Variant     ' Montant de l'investissement supporté par l'entreprise
    Dim duree_am As String   ' durée de l'amortissement
    Dim tauxAmort As Double  ' tauxAmort calculé ou donné selon l'année en exercice
    Dim coeff As Double      ' coeff appliqué selon la durée d'amortissement (n'est pas calculé)
    Dim dateAchat As String    ' date d'acquisition du produit
    Dim tauxAmortBase As Double
     
    ' Compteurs utilisés pour faire un retour à la ligne '
    Dim cumul As Integer
    Dim cumul2 As Integer
     
    Dim temp As Integer  ' Variable utilisée pour stocker temporairement la durée d'amortissement
     
    duree_am = InputBox("Durée d'amortissement ?", "Durée d'amortissement :")
     
     
    temp = duree_am
     
    If duree_am = 3 Or duree_am = 4 Then    ' Coeff => 1.25 si durée = 3 ou 4 ans
        coeff = 1.25
    Else
    If duree_am = 5 Or duree_am = 6 Then    ' Coeff => 1.75 si durée = 5 ou 6 ans
        coeff = 1.75
    Else
        coeff = 2.25                        ' Coeff => 2.25 si durée > 6 ans
    End If
    End If
     
    For i = 0 To duree_am - 1 ' 0 => année en cours
        If i = 0 Then
            Cells(5 + cumul, 5).Value = "N"  ' N => exercice 1ère année
        Else
            Cells(5 + cumul, 5).Value = "N + " & i & ""  ' années suivantes
        End If
        cumul = cumul + 1
    Next
     
    MsgBox "Le coefficient applicable est donc " & coeff & "."
     
    montant = InputBox("Montant de l'immobilisation ?", "Montant de l'immobilisation :")
     
     
    Cells(5, 6).Value = montant
     
    For i = 0 To duree_am - 1    ' les calculs s’arrêtent à l'année qui précède la fin de l'amortissement
     
    tauxAmort = coeff / duree_am
     
    If i <> 0 Then
       temp = temp - 1
       tauxAmortBase = 1 / temp
       If tauxAmortBase > tauxAmort Then
            tauxAmort = tauxAmortBase
       End If
    End If
     
        Cells(5 + cumul2, 11).Value = "1 / " & temp & ""
     
        Cells(5 + cumul2, 7).Value = tauxAmort  ' Affichage du tauxAmort d'amortissement
     
    cumul2 = cumul2 + 1
    Next
     
    dateAchat = InputBox("Indiquez la date d'achat de l'immobilisation.", "date d'achat de l'immobilisation :")
     
     
    Range("B5") = DateSerial(Split(dateAchat, "/")(2), Split(dateAchat, "/")(1), Split(dateAchat, "/")(0))
     
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Est-ce une obligation de passer par VBA car il existe une fonction native d'excel AMORDEGRC qui permet de calculer les montants d'amortissements dégressifs
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui je préfère VBA ( dans le cadre d'apprentissage de nouveaux codes ) !

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Dans ce cas, avant même de penser à coder, il faut écrire les formules et algorithmes permettant de réaliser ce calcul.

Discussions similaires

  1. [VBA] [Interface] BringToFront/SendToBack
    Par DarkVader dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/10/2002, 14h29
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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