XL 2010 Connaître la position d’un item dans un Array

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

J’ai une ComboBox avec sa liste d’items. Quand je choisis un item dans la liste je dois alors le valider avec un ComboBox et quelque chose se passe.

Il se trouve que dans cette liste d’items il y en a un (à la 4ème position) qui s’intitule "Image". Quand je le valide, cet item devient (dans la liste de la ComboBox) "No Image", et si je revalide, il redevient "Image". Bref, ça marche très bien.

Pour peaufiner la macro qui gère tout ça, plutôt que d’écrire, pour que cet item soit toujours sélectionné :
VB:
Sheets("Hoja1").ComboChx.ListIndex = 3  ‘nous sommes en Base 0
Je voudrais automatiquement récupérer la position de cet item dans la liste. Voilà comment je m’y suis pris, mais ça ne marche pas :
VB:
Sub Actualiser_ComboChx(item$)
'Actualisation la liste de la ComboBox "ComboChx" après avoir sélectionné et validé l'item "Image" / "No Image"
'- item : l'item de la liste de la ComboBox "ComboChx" que l'on veut modifier

Application.ScreenUpdating = False

Dim dico As Object, listeoptions As Variant, i%, NewItem$

    Set dico = CreateObject("Scripting.Dictionary")
   
    If item = "Image" Then
        Compteurs 7, 2 '--> compt(7) compteur associé au CommandButton qui valide l'item "Image" / "No Image"
   
        ActiveSheet.Shapes("LatLong").Visible = IIf(compt(7) = 1, True, False) 'une image qui apparaît ou pas

        NewItem = IIf(compt(7) = 1, "No Image", "Image")
        listeoptions = Array("Calculatrice", "Bloc Note", "Relooking", NewItem, "Help") 'items de la ComboChx "ComboChx" de la feuille "Hoja1"
        For i = 0 To UBound(listeoptions) 'rempli le dictionnaire ("dico") avec les éléments de la matrice "listeoptions" (Option Base 0)
            dico(listeoptions(i)) = ""
        Next
        Sheets("Hoja1").ComboChx.List = dico.keys    'dresse la liste de la ComboBox "ComboChx" à partir du dictionnaire
       
        '***************** NE MARCHE PAS *****************
        'For i = -1 To UBound(listeoptions)
        '    i = i + 1
        '    If listeoptions(i) = NewItem Then Exit For
        'Next
        '*************************************************

        Sheets("Hoja1").ComboChx.ListIndex = 3 'sélection du 4ème item ("Image" / "No Image") de la liste de la ComboBox "ComboChx"
       
        '***************** NE MARCHE PAS *****************
        'Sheets("Hoja1").ComboChx.ListIndex = i 'sélection du 3ème item (Image / No Image) de la liste de la ComboBox "ComboChx"
        '*************************************************
                                                                               
    End If

[C2500].Select: Application.ScreenUpdating = True

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour