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 :

Combobox et listindex : erreur 380


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Par défaut Combobox et listindex : erreur 380
    Bonjour, j'ai une erreur lorsque je charge un combobox avec le code suivant :

    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
     
     
     
           derLigne = Worksheets("Parametres").Range("e65536").End(xlUp).Row
           For j = 3 To derLigne
                     If ActiveWorkbook.Sheets("Parametres").Cells(j, 5).Value = Me.ListView1.ListItems(i).ListSubItems(4).Text Then
     
                   if ActiveWorkbook.Sheets("Parametres").Cells(j, 6).Value - 1= 0 then
                                frmEcranSaisie.ComboBox1.ListIndex = 0
                                Else
                                    frmEcranSaisie.comboBox1.ListIndex = ActiveWorkbook.Sheets("Parametres").Cells(j, 6).Value - 1
                            End If
                     End If
           Next j
        End If
    Next
    J'ai alors une erreur d'exécution 380 : impossible de définir la propriété ListIndex. Valeur de propriété non valide.

    A quoi cela est-il du ? Quelqu'un peut-il m'aiguiller ? Par avance merci

  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 crois (!!!) que ListIndex permet de connaître l'élément sélectionné, pas de recevoir une valeur
    Citation Envoyé par l'aide en ligne
    La propriété ListIndex contient un index de la ligne sélectionnée dans la liste. Les valeurs de la propriété ListIndex sont comprises entre –1 et le nombre total de lignes de la liste moins 1 (c'est-à-dire, ListCount – 1). Lorsqu'aucune ligne n'est sélectionnée, la propriété ListIndex renvoie la valeur –1.
    Que veux-tu faire ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Par défaut
    J'alimente mon combo à partir d'une liste de valeurs qui se trouvent dans une feuille paramètres.

    J'ai ensuite un listview. Lorsque je sélectionne une ligne dans le listview celui-ci possède parmi toutes ses colonnes une des valeurs du combo.

    Dans ma feuille excel j'ai une correspondance entre les valeurs du combo et son emplacement dans la liste

    Exemple :
    1 - toto
    2 - tata
    3 - titi

    Mon listview peut avoir la valeur "tata" dans ses données.

    Quand je clique sur l'élément du listview je souhaite que le combo s'initialise directement sur la seconde ligne.

    C'est peut etre pas très très clair :-( mais là j'avoue que je suis coincé et c'est très ennuyeux

  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
    ListIndex te donne le N° de la ligne sélectionnée -1
    Si les données de ta feuille se suivent, tu as le N° de ligne -1 dans ListIndex.
    Je reprends ton exemple
    1 - toto
    2 - tata
    3 - titi
    Si tu sélectionnes tata, tu as Listindex = 1
    Pour le N° de ligne, c'est donc ListIndex + 1 = 2

    Pour renseigner ton combo, ou tu utilises Additem pour ajouter les données de la ligne, ou tu crées un tableau des données de ta ligne et tu utilises alors List
    Dans l'événement Change de ta listview, tu mets
    Avec Additem :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim NoLigne
    Dim NoCol
        NoLigne = ComboBox1.ListIndex + 1
        For NoCol = 1 To 5
            Me.ComboBox2.AddItem Cells(NoLigne, NoCol)
        Next
    Avec List :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim NoLigne
    Dim NoCol, Tablo(5)
        NoLigne = ComboBox1.ListIndex + 1
        For NoCol = 1 To 5
            Tablo(NoCol) = Cells(NoLigne, NoCol)
        Next
        Me.ComboBox2.List() = Tablo
    A+

Discussions similaires

  1. Erreur 380 - valeur de propriété incorrecte
    Par Teddy7 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/05/2009, 16h59
  2. savepicture erreur 380
    Par LeXo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/03/2007, 16h19
  3. ListIndex: Erreur d'éxécution '7777'
    Par Norin dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2006, 16h33
  4. [VBA-E][ComboBox]Erreur 380 Aléatoire ??
    Par Moskito dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/04/2006, 10h43
  5. [VB]ComboBox et ListIndex
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/02/2006, 13h34

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