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 :

probleme de calcul en code VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Par défaut probleme de calcul en code VBA
    Bonsoir
    J’ai realisé une macro et je souhaiterais calculer mon chiffre d’affaires désaisonnalisé colonne H en fonction des coefficients trimestriels, T1 T2 T3 et T4 afin d’obtenir les résultats suivants, mais en vain je n’arrive pas à trouver la solution en VBA.
    Colonne K
    T1 k7 = 0,864
    T2 K8= 1,501
    T3 K9= 1,249
    T4 K10= 0,386

    Le calcul avec excel est le suivant :
    =B2/K7
    =B3/K8
    =B4/K9
    =B5/K10

    =B6/K7
    =B7/K8
    =B8/K9
    =B9/K10

    ….


    xi yi Chiffre d'affaires désaisonnalisé
    1 240 278
    2 420 280
    3 370 296
    4 110 285
    5 250 289
    6 440 293
    7 360 288
    8 115 298
    9 270 312
    10 480 320
    11 400 320
    12 130 337

    Merci pour votre aide
    Bien cordialement


    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
    Sub calCoeff()
     
        Dim i As Integer
        Dim DerLig As Long
        Dim Serie_Y As Variant, Serie_X As Variant
     
        With Worksheets("Moyenne_Mobile")
            DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
     
            For i = 2 To DerLig - 2
                .Cells(i + 1, 3).Value = Application.WorksheetFunction.Average(.Range(.Cells(i, 2), .Cells(i + 3, 2)))
            Next i
            For i = 2 To DerLig - 2
                .Cells(i + 2, 4).Value = Application.WorksheetFunction.Average(.Range(.Cells(i + 1, 3), .Cells(i + 2, 3)))
            Next i
             .Range(.Cells(DerLig - 1, 4), .Cells(DerLig, 4)).ClearContents
        End With
     'Traitement des données
    Set Serie_Y = Range("D4:D11")
    Set Serie_X = Range("E4:E11")
    Range("J4:K4").Value = Application.WorksheetFunction.LinEst(Serie_Y, Serie_X)
     
    '3eme boucle de traitement
    For i = 2 To DerLig
        Cells(i, 6).Value = Range("j4").Value * Cells(i, 5).Value + Range("k4").Value
        If Cells(i, 6).Value <> 0 Then
            Cells(i, 7).Value = Cells(i, 2).Value / Cells(i, 6).Value
        End If
        'Cells(i, 8).Value = Cells(i, 2).Value / Cells(i, 7).Value
    Next i
    'calcul des Coefficients saisonniers trimestriels
    Trim1 = (Range("g2").Value + Range("g6").Value + Range("g10").Value) / 3
    Trim2 = (Range("g3").Value + Range("g7").Value + Range("g11").Value) / 3
    Trim3 = (Range("g4").Value + Range("g8").Value + Range("g12").Value) / 3
    Trim4 = (Range("g5").Value + Range("g9").Value + Range("g13").Value) / 3
    ' affichage des Coefficients saisonniers trimestriels
    Cells(7, 11).Value = Trim1
    Cells(8, 11).Value = Trim2
    Cells(9, 11).Value = Trim3
    Cells(10, 11).Value = Trim4
     
     
    '4eme boucle de traitement
    'For i = 2 To DerLig
       ' Cells(i, 8).Value = Cells(i, 1).Value.Value * Trim1
    'Next i
    End Sub

  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,

    Peux tu être plus précis sur ton blocage. (quelle ligne?, quel résultat Attendu?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Par défaut CALCUL CAFFAIRES
    BONJOUR JEROME
    je vais essayer d'être plus claire, je souhaite calculer en VBA les chiffres d’affaires désaisonnalisé colonne H en fonction des coefficients trimestriels, T1 T2 T3 et T4 afin d’obtenir les résultats suivants,
    Chiffre d'affaires désaisonnalisé colonne H
    278
    280
    296
    285
    289
    293
    288
    298
    312
    320
    320
    337
    Pour obtenir 278 = 240/ 0,864 T1

    280= 420/ 1,501 T2
    296 = 370/1,249 T3
    285 = 110/0,386 T4

    pour obtenir le chiffraires désaisonnalisé trimestiel de l'année N-2
    formule = les ventes / coefficient moyen trimestriels

    on refait ma même chose avec l'anné N-1 ET N
    pour N-1

    Pour obtenir 289 = 250/ 0,864 T1

    293= 440/ 1,501 T2
    288 = 360/1,249 T3
    298 = 115/0,386 T4
    etc

    formalisé en VBA me semble difficile
    merci pour votre aide

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 207
    Par défaut
    Pourquoi VBA? Excel sait faire des divisions...

  5. #5
    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
    Comme le dis Sclarckone je ne pense que VBA soit utilise ici.

    Si je comprend bien, ton problème est que tes CA sont sur une colonne (x lignes)
    et que tes coefs sont sur une plage fixe.

    Sur le premier pavé de CA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    =B2/$K$7
    =B3/$K$8
    =B4/$K$9
    =B5/$K$10
    Tu sélectionnes ensuite ces 4 cellules et tu glisses jusqu'en bas de ton tableau pour copier

    tu auras ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    =B2/$K$7
    =B3/$K$8
    =B4/$K$9
    =B5/$K$10
     
    =B6/$K$7
    =B7/$K$8
    =B8/$K$9
    =B9/$K$10
    =B10/$K$7
    =B11/$K$8
    =B12/$K$9
    =B13/$K$10
    ...
    Si ton problème est ailleur, je ne le cerne pas du tout

Discussions similaires

  1. [XL-2010] probleme pour finir les codes VBA
    Par franck3869 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/01/2014, 22h58
  2. [XL-2007] probleme d'execution du code vba
    Par imane_lam dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/05/2013, 17h33
  3. [AC-2007] probleme d'execution de code vba
    Par adem_dev dans le forum IHM
    Réponses: 5
    Dernier message: 14/11/2009, 13h14
  4. Probleme code vba
    Par alex38 dans le forum Access
    Réponses: 6
    Dernier message: 18/04/2006, 12h10
  5. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 12h34

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