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 :

Message d'erreur incompréhensible dans un USERFORM [XL-2016]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Par défaut Message d'erreur incompréhensible dans un USERFORM
    Bonjour le Forum,

    je vous explique mon problème. Je viens de créer un "super fichier" de suivi avec des tas de formulaires, ...

    Dans un de ses formulaires, j'ai une listbox, qui se charge sans problème. J'ai également créé, entre autres, un combobox qui permet de filtrer la Listbox sur une de ses colonnes (="Catégorie").

    Si je sélectionne une catégorie, tout fonctionne bien, le filtrage se fait parfaitement, sauf pour UNE des catégories !!!! (dans mon cas "Mobilier").
    En effet, lorsque je sélectionne cette catégorie (et uniquement celle-ci, d'ou ma surprise), j'obtiens le message suivant :

    Erreur d'exécution '-2147352571 (80020005)' : Impossible de définir la propriété List. Le type ne correspond pas.
    En faisant 'jouer' le code via F8 ... F8, j'arrive à déterminer que le problème vient au niveau du code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For Each c In Application.index(Workbooks(ThisWorkbook.Name).Sheets("articles").[DONNEES_ARTICLES], , 1)
            If c.Offset(, 5) = Me.Cbb_Catégorie Then
                Me.ListBox_Articles.AddItem
                Me.ListBox_Articles.List(I, 0) = c.Value
                For N = 1 To NbCol
                    Me.ListBox_Articles.List(I, N - 1) = c.Offset(, N - 1).Value
                Next N
                I = I + 1
            End If
        Next c
    de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ListBox_Articles.List(I, N - 1) = c.Offset(, N - 1).Value
    et cela au moment où la valeur de la cellule sur lequel on travaille possède 3205 caractères.

    Ma question est donc la suivante, pourquoi à l'initialisation du formulaire la taille de la cellule ne pose pas de problème pour la listbox, alors qu'avec le code ci-dessus SI ?

    Deuxième question : excel limite le nombre de caractères à combien dans une "cellule" d'une listbox ?

    Dernière question : comment résoudre mon problème ?

    Afin d'illustrer mon problème, je vous ai mis en PJ le formulaire (réduit au mimimum pour vous le transmettre) posant problème avec son code (lui aussi réduit au minimum).

    Merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

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

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