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 :

Erreur 80070057 en cliquant sur une ListBox [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut Erreur 80070057 en cliquant sur une ListBox
    Bonjour tout le monde,

    Je suis en train de faire un formulaire qui permet de modifier les champs d'une base de données. J'an ai déjà réalisé d'autres mais je ne solutionne pas celui-ci.

    Mes éléments s'affichent bien dans ma ListBox mais en cliquant dessus, au lieu de remplir les champs déjà complétés, il m'indique "Erreur d'exécution '-2147024809 (80070057)': Impossible de lire la propriété List. Argument non valide.

    J'ai regardé un peu partout mais je ne vois pas l'anomalie….

    Quelqu'un pourrait-il jeter un œil? Merci d'avance.

    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
    Private Sub ListBox1_Click()
    Dim onglet As Worksheet
    Dim ref_choix As String
    Dim derniere_ligne As Long
    Dim ligne_ref As Long
     
     
        'identifier la référence
        ref_choix = TextBoxREFERENCE.Value
     
        'identifier onglet
        Set onglet = Worksheets("Données")
     
        'identifier dernière ligne
        derniere_ligne = onglet.Cells(Rows.Count, 1).End(xlUp).Row
     
        'boucle sur les infos de l'onglet pour trouver la ligne de la référence
        For i = 2 To derniere_ligne
            'comparer la référence de la ligne en cours avec la variable (colonne 42 "AQ")
            If onglet.Cells(i, 42) = ref_choix Then
                ligne_ref = i
            End If
        'fin de boucle
        Next
     
    'Selection listbox et affichage des champs déjà complétés
    ComboBoxENVOIMED = ListBox1.List(ListBox1.ListIndex, 30) 'MED envoyée (oui/non)
    TextBoxDATEENVOIMED = ListBox1.List(ListBox1.ListIndex, 32) 'date envoi relance
    ComboBoxMOTIFNONENVOI = ListBox1.List(ListBox1.ListIndex, 31) 'Motif de non envoi
    TextBoxSUIVIDELEGATION = ListBox1.List(ListBox1.ListIndex, 33) 'Délégation
    TextBoxDATEMEDCIE = ListBox1.List(ListBox1.ListIndex, 32) 'Date MED Compagnie
    TextBoxSUIVIDATERESIL = ListBox1.List(ListBox1.ListIndex, 37) 'Date Prévue Résiliation
    TextBoxNUMLRAR = ListBox1.List(ListBox1.ListIndex, 34) 'Num LRAR
    ComboBoxARRETPROCEDURE = ListBox1.List(ListBox1.ListIndex, 38) 'Arrêt Procédure
    ComboBox1 = ListBox1.List(ListBox1.ListIndex, 39) 'Motif Arrêt Procédure
    TextBoxREFERENCE = ListBox1.List(ListBox1.ListIndex, 42) 'Référence ligne tableau de relance
     
    End Sub

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 167
    Points
    10 167
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je peux me tromper, mais cela m'inspire qu'il y a un indice qui ne correspond à un indice d'un des contrôles. Quand à savoir si c'est vraiment dans la listbox ?

    As tu un système quelconque pour vérifier ce que tu inscrit dans ton textbox a une correspondance exacte dans ton ListBox ? Parce que, avec du texte, la marge d'erreur n'est pas énorme...

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Salut.

    Ne pas oublier qu'avec une listbox, on commence à compter les colonnes à partir de 0. Vu ton code If onglet.Cells(i, 42) = ref_choix Then, ça m'étonnerait que aies 43 colonnes => TextBoxREFERENCE = ListBox1.List(ListBox1.ListIndex, 42) signifie que tu vas en colonne 43 de ta listbox...

    Questions:
    • Est-il raisonnable d'avoir 43 colonnes dans un listbox?
    • Sur quelle ligne as-tu l'erreur?
    • Comment est chargée ta listbox?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Coordinateur Back-Office
    Inscrit en
    Avril 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Coordinateur Back-Office
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2019
    Messages : 34
    Points : 17
    Points
    17
    Par défaut
    Bon à tous et merci pour votre aide.

    Effectivement j'avais compté le nombre de colonnes dans mon tableau de données et non les colonnes de ma ListBox

    En fait il s'agit d'un tableau de données d'envoi de courriers de relance. Là je viens de le terminer. il est disponible pour enregistrement "simultané" avec plusieurs personnes travaillant en même temps sur le fichier (un fichier formulaire qui en validant ouvre, enregistre et ferme sur un autre fichier "données")

    Encore merci pour votre aide et bon weekend

    ma prochaine étape est de m'améliorer sur Access pour éviter d'utiliser Excel comme base de données

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

Discussions similaires

  1. drag and drop sur une listBox?
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 30/09/2006, 10h27
  2. dégradé sur une listbox avec 1/2 couleurs
    Par avogadro dans le forum Composants VCL
    Réponses: 8
    Dernier message: 05/05/2006, 18h21
  3. deplacement Form en cliquant sur une image
    Par nemo69500 dans le forum C++Builder
    Réponses: 7
    Dernier message: 09/04/2006, 13h55
  4. Réponses: 6
    Dernier message: 27/05/2005, 15h43
  5. Comment trier une DBGRID en cliquant sur une colonne
    Par sessime dans le forum Bases de données
    Réponses: 8
    Dernier message: 09/10/2004, 16h18

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