Bonsoir le forum,
J'ai un classeur avec plus de 300 combobox (ouch!) mis directement sur les feuilles. A part ces combobox et les champs qu'ils manœuvrent, je n'ai presque rien de 'lourd', mais le fichier (~3 Mo) met un temps fou à s'ouvrir et même à se fermer.
Je soupçonne qu’à l'ouverture, chaque combobox est initialisé. Sinon l'AutoLoad est mis sur False.
Le gros problème est ailleurs.
Ce classeur est à son tour intégré dans un autre classeur en tant qu'objet. Pour l'ouvrir, j'utilise le code
ActiveSheet.Shapes('Dossier').Select
Selection.Verb Verb:=xlPrimary
ActiveWindow.WindowState = xlMaximized
Et à l'ouverture, PAN dans le nez, toutes les actions gérées par les combobox, c'est à dire des inputbox, des textbox, des USF, plein de truc, quoi, on doit tenir Echap appuyé et cliquer non stop sur OK plus de 3 minutes.
Ce qui confirme que le fichier à l'ouverture, active d'une façon ou d'une autre les combobox. Non non, il n'y a rien de méchant dans son ThisWorkbook, seulement un truc de verrouillage UserInterfaceOnly = True et un autre pour masquer les menus (CommandBar.Visible = False).
Et maintenant mes questions :
- comment améliorer la vitesse d'ouverture et de fermeture d'un classeur avec tant de combobox ?
- comment inhiber l'activation des combobox, au moins à l'ouverture du fichier depuis l'objet intégré dans un autre classeur ?
Il me faudrait un code du gendre
- 'pause exécution Macro' ou 'change rien, patate !' ou 'touche pas aux cellules LinkedCell !'
- reprendre
J'ai déjà essayé avec EnableEvents=False et Calculation = Manual, sans succès.
Merci pour tout conseil,
Message édité par: Mi_, à: 16/11/2005 22:02
J'ai un classeur avec plus de 300 combobox (ouch!) mis directement sur les feuilles. A part ces combobox et les champs qu'ils manœuvrent, je n'ai presque rien de 'lourd', mais le fichier (~3 Mo) met un temps fou à s'ouvrir et même à se fermer.
Je soupçonne qu’à l'ouverture, chaque combobox est initialisé. Sinon l'AutoLoad est mis sur False.
Le gros problème est ailleurs.
Ce classeur est à son tour intégré dans un autre classeur en tant qu'objet. Pour l'ouvrir, j'utilise le code
ActiveSheet.Shapes('Dossier').Select
Selection.Verb Verb:=xlPrimary
ActiveWindow.WindowState = xlMaximized
Et à l'ouverture, PAN dans le nez, toutes les actions gérées par les combobox, c'est à dire des inputbox, des textbox, des USF, plein de truc, quoi, on doit tenir Echap appuyé et cliquer non stop sur OK plus de 3 minutes.
Ce qui confirme que le fichier à l'ouverture, active d'une façon ou d'une autre les combobox. Non non, il n'y a rien de méchant dans son ThisWorkbook, seulement un truc de verrouillage UserInterfaceOnly = True et un autre pour masquer les menus (CommandBar.Visible = False).
Et maintenant mes questions :
- comment améliorer la vitesse d'ouverture et de fermeture d'un classeur avec tant de combobox ?
- comment inhiber l'activation des combobox, au moins à l'ouverture du fichier depuis l'objet intégré dans un autre classeur ?
Il me faudrait un code du gendre
- 'pause exécution Macro' ou 'change rien, patate !' ou 'touche pas aux cellules LinkedCell !'
- reprendre
J'ai déjà essayé avec EnableEvents=False et Calculation = Manual, sans succès.
Merci pour tout conseil,
Message édité par: Mi_, à: 16/11/2005 22:02