Bien… ainsi après beaucoup d'heures de recherche, j'ai trouvé la réponse à ma question pendant qu'on lui énonçait à l'origine…
« Dans nos esprits, cela fonctionnerait comme ceci… que l'utilisateur s'ouvre avec le cahier de travail (qui s'ouvre à la feuille de travail de facture) et choisit le type de facture elles remplissant (choisi parmi une forme automatique avec la liste de types de facture). En cliquant 'CORRECT », le BizCode appelé référence de cellules de gamme est changé. »
Supposer que la feuille de travail principale s'appelle la « facture » et la feuille de travail de codes d'affaires s'appelle « BusinessCodes ». Supposer également qu'il y a 3 gammes appelées (vous pourriez avoir cependant beaucoup que vous avez voulus), intitulées « BusCodes », « TravelCodes » et « ActivityCodes ». Chacune des gammes appelées (juste mentionnées) se rapporte à une table simple des codes. Il y a (comme mentionné dans la première distribution), plusieurs variations de chaque table pendant que chaque département au sein de la compagnie emploie différents codes afin de la clarté et de la ségrégation de comptabilité. Ainsi la nécessité de pouvoir changer la gamme appelée référencée sur demande selon le type de facture étant complétée. Encore, la disposition de facture pour chaque département est exactement identique, seulement les codes de table changent.
Ainsi, la solution la plus simple qui n'exige pas une conception du cahier de travail serait comme suit :
1) Créer une forme qui inclut une « boîte de contrôle » (ou le listbox), celle contient les différentes factures disponibles pour l'usage.
2) Employer un événement « sur clic » pour lancer le changement appelé de référence de Range. Using une « boîte de contrôle », le code de VB apparaîtrait comme suit….
Sous-marin privé InvoiceType1_CheckBox_Click ()
Si Me.InvoiceType1_CheckBox.Value = rectifient alors
Feuilles (« BusinessCodes »). Évident = rectifier
Feuilles (« BusinessCodes »). Choisi
Gamme (« A1 : A100 »). Nom = « BusCodes »
Gamme (« B1 : B100 »). Nom = « TravelCodes »
Gamme (« C1 : C100 »). Nom = « ActivityCodes »
Feuilles (« BusinessCodes »). Évident = faux
Feuilles (« facture »). Choisi
Application.ScreenUpdating = rectifient
Sortir le sous-marin
Me décharger
Autrement
'réplique au-dessus de code pour chaque type option de facture.
Finir si
Finir le sous-marin
Naturellement, ce code pourrait être employé indépendamment d'où les tables sont localisées ou de la façon dont elles sont présentées parce que le code appelle explicitement chaque gamme et feuille de travail.
Le code ci-dessus, les individus non techniciens pourraient continuer pour s'ajouter/information de suppression/changement dans les tables étendues et tant que les données de table n'ont pas dépassé la gamme.
Aucun doute, ce code ne pourrait être modifié pour localiser dynamiquement l'extrémité de chaque table, excepté laquelle enlèverait alors n'importe quel besoin d'IL personne de modifier jamais le codage encore pour ajouter ou enlever le type disponible options de facture… mais la beauté de ce codage est qu'elle est simple.