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 :

[VBA-E]désactiver évenement combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Par défaut [VBA-E]désactiver évenement combobox
    Bonjour,
    J'ai un petit pb: j'ai une combobox qui appelle une fonction sur une propriété on click. Cette même fonction modifie la liste de cette combobox et réecrit rechoisit ensuite la valeur initialement choisie par l'utilisateur(avec listindex). Or au moment de la modification de la valeur, la propriété on_click se réactive et relance ma fonction
    ainsi je tourne en boucle sans sortir du code
    ce que je voudrais c'est désactiver mon les propiétés on click des combobox au début de ma fonction et les réactiver après. Je crois bien avoir déja vu des topics la dessus mais je ne les ai pas retrouvé
    si quelqu'un peut me rappeler comment on fait...
    merci
    rémi
    ps voici un petit bout des deux codes pour être plus clair:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub combobox4_click()
    Dim arg As String
    Dim voi As Integer
     
    arg = ComboBox2.Value
    voi = ComboBox4.ListIndex
     
    Call MAJfeuille(arg, 1, voi)
     
    End Sub
    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
    Private Sub MAJfeuille(arg As String, nbenveloppe As Integer, voie As Integer)
    'ici ya plein de truc avant et après
    If Worksheets(Configuration).Cells(lignec, c1).Value = "oui" Then
     
     
        Worksheets(modele).Cells(l2, 2).Value = "oui"
        lignevoie = CountColumnItems2(lignec, c1, Configuration)
        l = LookForColumn(1, Configuration, "Nb voie")
        nbvoie = CountColumnItems3(lignec, l, Configuration, lignevoie)
        ReDim tabvoie(nbvoie)
        a = 1
        ComboBox4.Clear
        For i = 1 To lignevoie
            If Worksheets(Configuration).Cells(lignec + i - 1, l).Value <> "" Then
                tabvoie(a) = Worksheets(Configuration).Cells(lignec + i - 1, l).Value
                ComboBox4.AddItem Worksheets(Configuration).Cells(lignec + i - 1, l).Value
                a = a + 1
            End If
        Next i
        lignec = LookForRow1(l, lignec, Configuration, tabvoie(voie + 1))
        c1 = LookForColumn(1, Configuration, "Nom réseau")
        Worksheets(modele).Cells(l1, 2).Value = Worksheets(Configuration).Cells(lignec, c1).Value
        ComboBox4.ListIndex = voie
        'Set marange = Worksheets(modele).Range(Worksheets(modele).Cells(2, 53), Worksheets(modele).Cells(5, 53))
        'ComboBox4.ListFillRange = marange.Address
     
     
    Else
        Worksheets(modele).Cells(l2, 2).Value = "non"
        c1 = LookForColumn(1, Configuration, "Nb voie")
        ComboBox4.Clear
        ComboBox4.Value = Worksheets(Configuration).Cells(lignec, c1).Value
        c1 = LookForColumn(1, Configuration, "Nom réseau")
        Worksheets(modele).Cells(l1, 2).Value = Worksheets(Configuration).Cells(lignec, c1).Value
    End If

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je ne connaissais pas ce phénomène (le "re-click) pour les combos
    Bon, ce que tu peux faire, c'est déclarer un boolean en tête de la feuille de code de l'userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Leboobool as boolean
    Puis dans le clic du combo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub LeCombo_Click()
        if Leboobool then
               Leboobool = False 'tu remets à false pour la prochaine sélection
               exit sub 'tu sorts car tu es déjà passé par là
            else
               Leboobool = True
        Endif
        'Ton code
     
    End sub
    A+

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Une autre piste, plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par AlainTech
    Une autre piste, plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    Ça n'empêche pas toutes les macros de fonctionner ? C'est une question.

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Par défaut
    coucou
    alors content de la solution de ouskelnor j'étais parti à fond dessus car javais déja pensé à des test mais pas à cette solution de changer à chaque fois la valeur du boolean. Le truc c'est que c'est un peu compliqué à mettre en place car j'ai plusieurs combobox qui agissent les unes sur les autres.
    Du coup j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    mais ca marche pas
    je vais donc finir de mettre en place ces boolean et je vous tiens au courant
    merci
    rémi

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Par défaut

    ca marche nickel
    merci ouskelnor
    par contre comment ce se fait que j'ai l'impression que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    n'a absolument aucun effet sur mes différents évnèements alors que pourtant mes deux macros sont placées dans les évènements de la même feuille?
    rémi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] désactivation des combobox et surtout des "combobox_change"
    Par thierryyyyyyy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/03/2007, 20h15
  2. [VBA-E] désactiver les liaisons
    Par repié dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/05/2006, 11h06
  3. [VBA-E] désactiver "Annuler" avec .GetOpenFilename
    Par repié dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/05/2006, 17h15
  4. [VBA-P][Débutant] PresentationOpen, ComboBox et Diaporama
    Par Pikasacha dans le forum VBA PowerPoint
    Réponses: 7
    Dernier message: 15/02/2006, 13h26
  5. [VBA-E] pbl sur combobox
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/02/2006, 08h47

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