Bug sur Combobox en cascade avec dictionnaire

Bonjour à tous !

Je suis en train de créer un gestionnaire de dispositif.

J'ai un bug erreur n°9 quand je réinitialise le "Désignation"

image

Cela fait 3h que je cherche en vain à comprendre mon erreur,

J'ai utilisé la méthode de Mr BOISGONTIER pour remplir les combobox.

Je vous joins le fichier.

Je vous remercie d'avance pour l'aide apportée.

7test-bdd.xlsm (119.73 Ko)

Bonsoir,

il faut jouer avec une variable "interrupteur" afin d'empêcher des mises à jour de ComboBox en dehors d'un fonctionnement nominal.

Voici une partie du code à modifier :

Dim Encours As Boolean

Private Sub cboDesignation_Change()

If optDes = True Then
  Encours = True
  cboModel = ""
  cboNoEq = ""
'Récupère les données de la colonne A...

  Set mondico = CreateObject("Scripting.Dictionary")
  a = Sheets("DATA").Range("A2:I" & Sheets("DATA").[A65000].End(xlUp).Row)   ' tableau a(n,1) pour rapidité
  For i = LBound(a) To UBound(a)
    If a(i, 7) <> "" And cboDesignation = a(i, 1) Then mondico(a(i, 7)) = ""
  Next i
  '--avec tri
  temp = mondico.keys
  Call Tri(temp, LBound(temp), UBound(temp))
  cboModel.List = temp
  Encours = False
End If
End Sub

L'interrupteur ici est "Encours", on le passe à vrai dès que l'on change la valeur de la première ComboBox, puis on le passe à faux une fois cette ComboBox initialisée.
Puis ajouter un test sur "Encours" afin de quitter la procédure s'il est égal à vrai :

Private Sub cboModel_Change()
Dim j As Integer
Dim i As Integer
If Encours Then Exit Sub
Private Sub cboNoEq_Change()
Dim fe As Worksheet 'déclare la variable Fe (Onglet)
Dim Rch As Range 'déclare la variable Rch (Recherche)
Dim Lig As Long 'déclare la variable LI (LIgne)
If Encours Then Exit Sub

Et voilà cela fonctionne !

@ bientôt

LouReeD

Bonjour

un test

a vous relire

11test-bdd.xlsm (195.56 Ko)

Bonsoir,

Merci à vous deux !

Merci à LouReeD. Je n'avais pas réfléchis à passer par un Boolean pour éviter la mise à jour des combobox.

Merci encore.

Merci de votre retour et remerciements !

En effet, j'y ai recours depuis que je comprend leur utilité...

@ bientôt

LouReeD

Rechercher des sujets similaires à "bug combobox cascade dictionnaire"