XL 2010 Problème avec un ComboBox lors de l'ouverture du classeur

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Sur une feuille nommée "Données" il y a un ComboBox nommé "ComboBox_NbSolvants".
Chaque fois que j'y choisis un item dans sa liste, la valeur du ListIndex est mémorisée dans une cellule nommée "Remember".
Je ferme l'applicarion. À sa réouverture, je voudrais récupérer le ComboBox tel qu'il était avant la dernière fermeture, autrement dit que l'item sélectionné avant la fermeture soit le même lors de la réouverture.
Pour ce faire, J'ai écrit ceci :
VB:
Sub Workbook_Open()

    Sheets("Données").ComboBox_NbSolvants.ListIndex = [Remember]

End Sub
Et bien, ça plante.
Comment y remédier ?
 

Magic_Doctor

XLDnaute Barbatruc
Bonsoir job,

Je viens de réessayer et toujours le même problème, ou plutôt la même sentence. Je traduis :
"Il vient de se produire l'erreur '380' lors de l'exécution : impossible de configurer la propriété ListIndex. Valeur de la propriété invalide."
Sheets("Données").ComboBox_NbSolvants.ListIndex = [Remember] est surligné.
 

patricktoulon

XLDnaute Barbatruc
bonsoir
une combobox est vide au depart
le remenber ca n'est pas que pour l'index qu'il est nécessaire ;)
VB:
Sub Workbook_Open()
'!!!!!!faudrait il encore qu'elle soit pleine à  ce moment très précis !!!!!
' a l'ouverture elle ne peut qu’être vide !!!!!!
Sheets("Données").ComboBox_NbSolvants.ListIndex = [Remember]
End Sub
et puis sur 2013 (voir commentaire)
VB:
Private Sub Workbook_Open()
'quelques fois avec 2013 rien ne fonction dans le open ça plante a chaque fois
'alors on refait tant que ca ne se fait pas correctement
'débloquer les deux lignes ci dessous si ca persiste
're:
  'On Error GoTo re
  With Sheets("Données").ComboBox_NbSolvants
    .List = .Parent.[C2:C10].Value
    .ListIndex = [Remember]
End With
End Sub
si tu utilise listfillerange
met une condition
if .listcount>0 then .......
voir le répéter comme je le fait si le bug open dans 2013 persiste
 

Magic_Doctor

XLDnaute Barbatruc
Re,

Problème réglé. J'ai corrigé une erreur d'étourderie, pourtant énorme !
Et oui, dans la précipitation, j'avais écrit ça :
VB:
    Sheets("Données").ComboBox_NbSolvants.ListIndex = [Remember]
    
    liste = Array("1", "2", "3", "4", "5", "6", "7")
    With Worksheets("Données").ComboBox_NbSolvants
        .List = liste
        .ListIndex = 0
    End With
Plutôt que :
VB:
    liste = Array("1", "2", "3", "4", "5", "6", "7")
    With Worksheets("Données").ComboBox_NbSolvants
        .List = liste
        .ListIndex = [Remember]
    End With
Alors, vous vous doutez bien...
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 316
Membres
102 860
dernier inscrit
fredo67