Bonjour tout le monde.
Voilà j'ai un classeur Excel avec beaucoup de code, tout fonctionne très bien hormis un point.
Dans les différentes feuilles, je créée des objets shape comme ceci :
Ensuite je publie des éléments dans ces listes déroulantes, pas de souci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 With ActiveWorkbook.Sheets("Définir une leçon").range("B6:B6") Set cbSite = ActiveWorkbook.Sheets("Définir une leçon").Shapes.AddFormControl(xlDropDown, .Left, .Top, .Width, .Height) End With With cbSite .ControlFormat.DropDownLines = 35 .Name = "cbSite" End With
Lors de l'utilisation, je choisis choisi un élément dans la liste déroulante et en cliquant sur un bouton ça fait différentes opérations. Dans la listes des dernières opérations, je désactive le contrôle pour éviter de changer la valeur. En effet, une l'action lancée, on ne peut plus modifier la combobox (c'est pour garder la trace).
Le classeur est enregistré automatiquement avec ActiveWorkbook.Save
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 With ActiveWorkbook.Sheets("Définir une leçon").Shapes("cbSite") .ControlFormat.Enabled = False End With
Ensuite je ferme le classeur et je l'ouvre à nouveau et il arrive parfois que la valeur choisie dans la liste déroulante soit vide.
Après plusieurs tests, j'ai remarqué que la valeur est bien conservée pour autant que ce ne soit pas la première de la liste ! Cela me fait cela avec toutes mes listes déroulantes. Si je sélectionne un élément autre que le premier, que j'enregistre mon classeur et que je l'ouvre à nouveau, pas de souci la valeur est bien conservée. Mais si je choisis la premier élément, que j'enregistre mon classeur et que l'ouvre à nouveau, la valeur est vide.
En pièce jointe jointe, j'ai mis une capture d'écran. On voit qu'il y a trois shapes combobox, après avoir fermé et rouvert le classeur, deux d'entre eux on bien leur valeur, mais celui de l'Animateur est vide, et pour celui-ci, j'avais choisi le premier élément de la liste.
Avant de fermer le classeur (qui était déjà enregistré), j'avais bien la valeur à l'intérieur.
Pourriez-vous m'aider s'il vous plaît.
Merci d'avance pour votre aide et belle journée.
Meilleures salutations
Partager