J'ai une programme qui commence à devenir assez important tant en nombre de userform (env.50) qu'en nombre de lignes de données.
50 USF, ça fait beaucoup, n'y a-t-il pas moyen d'optimiser et de personnaliser les USF en fonction des données ?
Ce programme est utilisé par une tierce personne; or, je continue à faire des modifications et des ajouts dans les userform.
Le problème est que mes userform et mes feuilles de données étant dans le même fichier excel, j'ai des difficultés à passer les mises à jour à l'autre utilisateur. En effet, ses données encodées ne correspondent plus avec celles de mon nouveau programme.
C'est le problème de toute mise à jour, tu peux programmer VBA pour mettre à jour les macros de l'ancien fichier, mais c'est assez lourd.
Est-il possible de mettre, par exemple, mes userform dans un fichier A et mes feuilles de données dans un fichier B (non ouvert afin qu'il n'apparaisse pas)?
Oui, tu peux ouvrir un classeur (Workbooks.Open Filename:="C:\Users\JNP\Desktop\cafe.xls") et déclarer une variable :
Dim MonClasseur As WorkBook
et utiliser Set pour charger ton classeur dans la variable. Tu pourras en faire ensuite tout ce que tu veux, si tu ne le déclare pas Visible, il n'apparaîtra pas.
Est-il possible d'encoder les données et de les récupérer d'un fichier non ouvert vers les userform?
Comme dit au-dessus, ce n'est pas un fichier non ouvert, c'est un fichier non visible.
Ou y a-t-il une autre solution à mon problème?
Certainement plein d'autres 😛... Si tu es en 2003, des barres personnalisées économiseraient peut-être des USF, si c'est en 2007, le ruban est plein de possibilités. Avec plein d'USF, est-ce bien sous Excel qu'il faut travailler, ou sur Acces, en VB.net, etc. 😀