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 :

Application.DoubleClick non actif au premier essai


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut Application.DoubleClick non actif au premier essai
    Bonjour,

    J'ai un code qui fonctionne si et seulement si j'effectue au préalable un doubleclick sur un TCD

    C'est à dire que je suis obligé d'effectuer une fois la manipulation (double click). Et ensuite la manipulation s'effectue toute seule sans ce préliminaire.

    Voici mon code et j'ai même essayé avec showdetails mais il faut que fasse la manipulation avant pour que clui-ci fonctionne après.

    Je ne vois pas d'où vient le problème

    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
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim x As Integer
    Dim y As String
    Dim z As Long
    Dim aa As Long
    Dim Pt As PivotTable
    Dim Sh As Worksheet
    Dim Service0 As String
    Dim Service1 As String
    Dim Service2 As String
    Dim FV As String
    Dim MS As String
    Dim CS1 As String
    Dim CS2 As String
    Dim CS3 As String
    Dim CS4 As String
    Dim CS5 As String
    Dim CS6 As String
    Dim CS7 As String
    Dim Act As String
    Dim Per As String
    Dim Cpte As String
    Dim LService0 As String
    Dim LService1 As String
    Dim LService2 As String
    Dim LFV As String
    Dim LMS As String
    Dim LCS1 As String
    Dim LCS2 As String
    Dim LCS3 As String
    Dim LCS4 As String
    Dim LCS5 As String
    Dim LCS6 As String
    Dim LCS7 As String
    Dim LAct As String
    Dim LPer As String
    Dim LCpte As String
     
     On Error GoTo errorHandler
     
     
     Application.ScreenUpdating = False
     
        If IsNumeric(Application.Intersect(Target, Range("$L:$L,$N:$N"))) Or IsNumeric(Application.Intersect(Target, Range("$S:$S,$U:$U"))) Then
     
     
     
     
     
    '********************************************************************************************************************************
    ' Code pour déterminer le nom de la feuille qui permettra de faire le filtre sur le TCD sur les services
    '                           * MS (TDB MS, TDB MS VAR)
    '                           * Service0 (Entreposage, Distribution)
    '                           * Service1 (Terrain, Distribution)
    '                           * Service2 (Structure, Contenant,Distribution)
    '********************************************************************************************************************************
     
     
            With Worksheets("TCD")
     
     
     
            .Range("G1").Value = ""      'MS
            .Range("E1").Value = "(Tous)"   'MS
            .Range("F9").Value = "Entreposage"    'Service0
            .Range("F10").Value = "(Tous)"    'Service1
            .Range("F11").Value = "(Tous)"    'Service2
            .Range("H1").Value = "Entreposage"    'Spécification nom onglet ayant l'objet d'un double clic
     
     
     
     
        End With
     
    '********************************************************************************************************************************
    ' Code pour déterminer le nom de la cellule ayant fait l'objet d'un double clic qui permettra
    '  de faire le filtre sur le TCD sur les agrégats Synergie
    '                           * Code Synergie4 (le plus fin)
    '                           * Code Synergie3 (le plus fin -1)
    '                           * Code Synergie2 (le plus fin -2)
    '                           * Code Synergie (le plus fin -4)
    '********************************************************************************************************************************
     
    y = Target.Address
     
     
        Worksheets("TCD").Range("F1").Value = y
        Cancel = True
     
     
     
    '********************************************************************************************************************************
    ' 1° Etape :Code pour affecter la valeur des filtres sur le TCD.
    ' 2° Etape : Actualisation du TCD
    ' 3° Etape : Double clic sur la valeur du TCD afin d'obtenir le détail sur une feuille
    '
    '********************************************************************************************************************************
     
     
    LMS = Worksheets("TCD").Range("A1").Value
    LCS1 = Worksheets("TCD").Range("A2").Value
    LCS2 = Worksheets("TCD").Range("A3").Value
    LCS3 = Worksheets("TCD").Range("A4").Value
    LCS4 = Worksheets("TCD").Range("A5").Value
    LCS5 = Worksheets("TCD").Range("A6").Value
    LCS6 = Worksheets("TCD").Range("A7").Value
    LCS7 = Worksheets("TCD").Range("A8").Value
    LService0 = Worksheets("TCD").Range("A9").Value
    LService1 = Worksheets("TCD").Range("A10").Value
    LService2 = Worksheets("TCD").Range("A11").Value
    LFV = Worksheets("TCD").Range("A12").Value
    LAct = Worksheets("TCD").Range("A13").Value
    LPer = Worksheets("TCD").Range("A14").Value
    LCpte = Worksheets("TCD").Range("A15").Value
    MS = Worksheets("TCD").Range("E1").Value
    CS1 = Worksheets("TCD").Range("E2").Value
    CS2 = Worksheets("TCD").Range("E3").Value
    CS3 = Worksheets("TCD").Range("E4").Value
    CS4 = Worksheets("TCD").Range("E5").Value
    CS5 = Worksheets("TCD").Range("E6").Value
    CS6 = Worksheets("TCD").Range("E7").Value
    CS7 = Worksheets("TCD").Range("E8").Value
    Service0 = Worksheets("TCD").Range("E9").Value
    Service1 = Worksheets("TCD").Range("E10").Value
    Service2 = Worksheets("TCD").Range("E11").Value
    FV = Worksheets("TCD").Range("E12").Value
    Act = Worksheets("TCD").Range("E13").Value
    Per = Worksheets("TCD").Range("E14").Value
    Cpte = Worksheets("TCD").Range("E15").Value
     
     
     
     Set Pt = Worksheets("TCD").PivotTables("GL1")
     
    With Pt
                    With Pt.PivotFields(LMS)
                        .ClearAllFilters
                        .CurrentPage = MS
                    End With
    End With
     
    With Pt
                    With Pt.PivotFields(LCS1)
                        .ClearAllFilters
                        .CurrentPage = CS1
     
                    End With
    End With
     
     
    With Pt
                   With Pt.PivotFields(LCS2)
                        .ClearAllFilters
                        .CurrentPage = CS2
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LCS3)
                        .ClearAllFilters
                        .CurrentPage = CS3
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LCS4)
                        .ClearAllFilters
                        .CurrentPage = CS4
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LCS5)
                        .ClearAllFilters
                        .CurrentPage = CS5
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LCS6)
                        .ClearAllFilters
                        .CurrentPage = CS6
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LCS7)
                        .ClearAllFilters
                        .CurrentPage = CS7
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LService0)
                        .ClearAllFilters
                        .CurrentPage = Service0
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LService1)
                        .ClearAllFilters
                        .CurrentPage = Service1
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LService2)
                        .ClearAllFilters
                        .CurrentPage = Service2
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LFV)
                        .ClearAllFilters
                        .CurrentPage = FV
                    End With
    End With
     
    With Pt
                   With Pt.PivotFields(LAct)
                        .ClearAllFilters
                        .CurrentPage = Act
                    End With
     
    End With
     
    With Pt
                   With Pt.PivotFields(LPer)
                        .ClearAllFilters
                        .CurrentPage = Per
                    End With
     
    End With
     
    With Pt
                   With Pt.PivotFields(LCpte)
                        .ClearAllFilters
                        .CurrentPage = Cpte
                    End With
     
    End With
     
      With Worksheets("TCD")
        .Activate
        .Range("A18").Select
        Application.DoubleClick
        End With
     
     
     
    End If
     
    Application.ScreenUpdating = True
     
          z = Worksheets("TCD").Range("C18").Value
      aa = Worksheets("TCD").Range("A18").Value - Worksheets("TCD").Range("B18").Value
     
          If z <> 0 Then MsgBox "Ecart avec Synergie Verifier votre table de correspondance" & vbCrLf & _
          "Ecart de : " & vbCrLf & aa
     
     
     
     
    Set Pt = Nothing
     
    errorHandler:
    Exit Sub
     
     
    End Sub
    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Bonjour,

    Je commencerais avec un code très limité, avec des instructions MsgBox pour voir si réellement le code n'est pas déclenché ou si il n'y a pas plutôt une sortie prématurée.
    Une exécution en pas à pas pourrait également aider.

Discussions similaires

  1. [Débutant] Premier essai DirectX9 - Question
    Par stebar dans le forum DirectX
    Réponses: 4
    Dernier message: 30/12/2005, 14h39
  2. [Kylix] Premier essai
    Par alcaloide dans le forum EDI
    Réponses: 7
    Dernier message: 24/12/2005, 15h14
  3. Application graphique non fenétrée
    Par drachenkiller dans le forum Interfaces Graphiques en Java
    Réponses: 16
    Dernier message: 15/11/2005, 11h50
  4. [D8] Application serveur non disponible
    Par Keke des Iles dans le forum EDI
    Réponses: 4
    Dernier message: 27/09/2004, 12h06
  5. JScrollPane non actif (layout)
    Par Oliveuh dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 21/07/2004, 10h50

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