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
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é.
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
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