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

EPM (Hyperion) Discussion :

Macro actualiser Essbase


Sujet :

EPM (Hyperion)

  1. #1
    Futur Membre du Club
    Macro actualiser Essbase
    Bonjour à tous
    je travaille actuellement avec Essbase, et je cherche à faire une macro pour automatiser une tâche longue et répétitive. Mon problème est qu'à chaque tour de boucle je dois actualiser mes valeurs (bouton actualiser de l'onglet Essbase) et je n'y arrive pas...

    en fait j'ai deux onglets :

    - un onglet n°1 avec une liste de centres en lignes, et en colonnes "écart"

    - un onglet n°2 avec une espèce de menu déroulant, et quand je choisis le centre que je veux dans ce menu déroulant, ça met les valeurs à jour dans un tableau, y compris la valeur "écart"


    du coup je veux faire une macro pour que ça sélectionne le centre dans l'onglet n°1, ça le copie dans la case de mon menu déroulant de l'onglet 2, ça actualise (il y a un bouton "actualiser" sur lequel il faut cliquer sans quoi les valeurs du tableau ne sont aps mises à jour même si la valeur dans le champ du menu déroulant est la bonne), et ça sélectionne la valeur "écart" pour la copier en face du centre correspondant de l'onglet n°1.


    J'ai tout codé sauf l'actualisation qui ne marche pas...

    Voici mon code actuel :



    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    Dim i As Integer
    For i = 3 To 200
    Cells(i, 1).Select
        Selection.Copy
        Sheets("vérif nature").Select
        Cells(1, 10).Select
        ActiveSheet.Paste
        ActiveSheet.Paste
     
        Application.Run macro:="EssVRetrieve"
     
        IgnoreBlank = Range("C1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("D1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("E1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("F1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("G1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("H1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("I1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("J1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
        IgnoreBlank = Range("K1")
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="..."
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
     
        Cells(67, 4).Select
        Selection.Copy
        Sheets("centre").Select
        Cells(i, 2).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Sheets("vérif nature").Select
        Cells(68, 4).Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("centre").Select
        Cells(i, 3).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Sheets("vérif nature").Select
        Cells(69, 4).Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("centre").Select
        Cells(i, 4).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Next i
    End Sub


    si quelqu'un a une solution...
    Merci beaucoup!

    Léa

  2. #2
    Rédacteur/Modérateur

    Tu as toujours besoin de faire cette macro, ou tu as trouvé la solution entre-temps ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition