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 :

retour de clic avec une boite de dialogue


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 293
    Par défaut
    bonjour,

    j'ai un pb avec une boite de dialogue,

    je les appelles de façon séqquentilles et parfois le clic sur un case fait réagir la boite précédente

    le pb expliqué en détail et le code sont dans la PJ

    si quelqu'un a une explication je pourai avancer un peu plus car là je bloque

    merci à tous

    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
    ‘ Voir  Problème ICI
    ‘ lors d’enchaînement de boite de dialogue, de façon séquentielle,la boite de dialogue est parfois activée comme si l’utilisateur avait cliqué sur la 1ère sélection.
    ‘ situation améliorée par une temporisation d’une seconde entre le Unload et l’activation.
    ‘
    ' fonctionnement
    ‘En fonction de la colonne, la macro propose une liste de sélection
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, CANCEL As Boolean)
    Dim intFin, I, L, C, intDeb, C_ini, C2 As Long
    Dim Nom As Name
    Dim strSheetName, strMetier, strPlage As String
    Dim MonOnglet$, T$, T1$, COMMENTAIRE$, PRODUIT$, METIER$, FONCTION$, ACTIVITE$, T2$
    Dim UNITE$, TYPEDECOUT$, RUBRIQUE$, CAUSEREWORK$
    On Error GoTo Erreur:
    Application.ScreenUpdating = False
    L = Target.Row
    C2 = Target.Column
    C_ini = C2
    If L >= intDeb And L <= intFin Then
        While C2 > 0
            C = C2
            Select Case C
            Case M_Produit
            Case M_Metier
            Case M_Activite
            Case M_Fonction
                T$ = Cells(L, M_Metier).Value & "_F"
                If Boite_Selection.Initialise_Liste_Selection(T$, OngletConsignes$) = True Then
                    Boite_Selection.Caption = "Sélectionner FONCTION"
                    Load Boite_Selection
                    Boite_Selection.StartUpPosition = 2
                    Boite_Selection.Show
                    T1$ = Boite_Selection.TEXTE$
                    If T1$ <> "" Then
                        Unload Boite_Selection
                        Boite_Selection.PRODUIT.Value = Cells(L, M_Produit).Value
                        Boite_Selection.METIER.Value = Cells(L, M_Metier).Value
                        Boite_Selection.FONCTION.Value = Cells(L, M_Fonction).Value
                        Boite_Selection.ACTIVITE.Value = Cells(L, M_Activite).Value
                        Boite_Selection.UNITE.Value = Cells(L, M_Unite).Value
                        Boite_Selection.TYPE_COUT.Value = Cells(L, M_Type_Cout).Value
                        Boite_Selection.VENTILATION.Value = Cells(L, M_Rubrique).Value
                        T$ = Cells(L, M_Metier).Value & "_" & T1$ & "_SF"
                        Cells(L, C).Select
                        If Boite_Selection.Initialise_Liste_Selection(T$, OngletConsignes$) = True Then
                            Boite_Selection.Caption = "Sélectionner SOUS-FONCTION"
                            Load Boite_Selection
                            Boite_Selection.StartUpPosition = 2
                            Boite_Selection.Show
    ‘ Problème ICI, de manière aléatoire:
    ‘ La boite de dialogue est affichée
    ‘ Sans intervention de l’utilisateur la 1ère sélection est validée.
                            T2$ = Boite_Selection.TEXTE$
                            If T2$ <> "" Then
                                Cells(L, C).Value = T1$ & " / " & T2$
                                C2 = M_Unite
                            End If
                        End If
                End If
            Case M_Unite
            Case M_Type_Cout
            Case M_Rubrique
            Case M_Cause_Rework
            Case Else
            End Select
            Unload Boite_Selection
            DoEvents
            Application.Wait (Now + TimeValue("0:00:01"))
        Wend
    End If
    Erreur:
    Application.ScreenUpdating = True
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    J'ai pas suivit tout le code mais essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    au début et le même à true a la fin.
    Ca devrait désactier tes macro évènementiel qui lance les boite de dialogue en série, avec un peu de chance ton problème viens de là

Discussions similaires

  1. Securise la suppression avec une boite de dialogue PHP
    Par dyala dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 15/05/2009, 03h13
  2. ouvrir un fichier avec une boite de dialogue
    Par gdulu dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/03/2009, 17h46
  3. Editbox non editable avec une boite de dialogue CHILD
    Par Pistol Pete dans le forum Windows
    Réponses: 0
    Dernier message: 26/02/2009, 13h53
  4. projet avec une boite de dialogue comme fenêtre principale
    Par patsolaar dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 01/02/2008, 01h46
  5. Pb avec une boite de dialogue
    Par jerem721 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 28/09/2007, 21h13

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