Probleme : Erreure de Compilation VBA

Résolu
drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit probleme.

Il me met en surbrillance le ".List ="
et je ne sais pas pourquoi.
Le message d'erreure est : "Erreure de Compilation : Membre de méthode ou de données introuvable".
Pourtant j'ai bien une liste et j'ai généré le nom : [Designation]
Mon code :

Private Sub ComboBox2_Change()
Set Mondico = CreateObject("Scripting.Dictionary")
Me.ComboBox2.Clear
For Each d In [Designation]
    If UCase(d.Offset(o,-1)) = UCase(Me.ComboBox2) Then
         If Not Mondico.exists(UCase(c.Value)) And d <> "" Then
             Mondico.Add UCase(d.Value), UCase(d.Value)
         End If 
    End If
Next d
Me.TextBox3.List = Mondico.items

6 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Les TextBox n'ont pas de propriété List.
    0
  2. drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   1
     
    Ah bah oui !
    Merci j'ai créé une ListBox à la place !

    Petit problème, ca ne marche toujous pas . Je dois mettre quoi à la place?
    merci
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    1-
    Me.ComboBox2.Clear

    Tu supprimes le contenu de ta combobox lorsque tu changes une de ces valeurs... Pourquoi?
    ==> Supprime cette ligne.

    2-
    If Not Mondico.exists(UCase(c.Value)) And d <> "" Then

    Erreur de copié-collé. Une fois c, une fois d. Si tu avais déclaré tes variables tu t'en serais aperçu...
    CEla nous donne donc :

    Private Sub ComboBox2_Change()
    Dim Mondico As Object, d As Variant
    Set Mondico = CreateObject("Scripting.Dictionary")
    
    For Each d In [Designation]
        If UCase(d.Offset(o, -1)) = UCase(Me.ComboBox2) Then
             If Not Mondico.exists(UCase(d.Value)) And d <> "" Then
                 Mondico.Add UCase(d.Value), UCase(d.Value)
             End If
        End If
    Next d
    Me.ListBox1.List = Mondico.items
    End Sub

    0
  4. drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   1
     
    Merci beaucoup,

    c'est normal que quand je selectionne la valeur de la comboBox2, la listbox m'affiche pas la valeur de la colonne [designation], ca ne m'affiche rien?

    En tout cas merci beaucoup pour ton aide
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Seul toi peut répondre à cette question. Je te rappelle que nous n'avons pas accès à tes données...
      Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com

      Va sur ce site : https://www.cjoint.com/
      Clic sur parcourir,
      Cherche ton fichier,
      clic sur ouvrir,
      Clic sur "Créer le lien cjoint",
      Copier le lien,
      Revenir ici le coller dans une réponse...
      0
    2. drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   1
       
      https://www.cjoint.com/?0JykQl2DRXH

      Voila, alors en meme temps, j'aimerais quand je clique sur suprimer, ca me supprime la ligne et que les lignes du bas remonte
      0
    3. drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   1
       
      Code : Exemple et Utilisateur : exemple
      0
    4. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Je n'ai pas accès au code VBA, tu as mis un mot de passe...........
      0
    5. drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   1
       
      code : SCH désolé
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Private Sub ComboBox2_Change()
    Dim Mondico As Object, d As Variant
    Set Mondico = CreateObject("Scripting.Dictionary")
    
    For Each d In [Designation]
        If UCase(d.Offset(0, -1)) = UCase(Me.ComboBox1) Then Mondico(d.Value) = ""
    Next d
    Me.ListBox1.List = Mondico.keys
    End Sub


    For Each d In [Designation] => boucle sur toutes les cellules du Range nommé Designation

    If UCase(d.Offset(0, -1)) = UCase(Me.ComboBox1) Then => Si les valeurs sont identiques

    Mondico(d.Value) = "" => Je l'ajoute dans mon dictionary avec impossibilité de doublon

    Me.ListBox1.List = Mondico.keys => Je remplit ma liste

    Que n'as tu pas compris exactement?

    ==> Tutoriel sur l'objet dictionnary
    0
  7. drumer57 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   1
     
    En fait, ca m'as l'air tout bon. Merci beaucoup pour ton aide !
    0