cbxlies concocter par dranreb pour matou59

grisan29

XLDnaute Accro
bonsoir le forum et Dranreb

puis je m'approprier ce projet de cbxlies si tu m'explique comment la 1ere combobox puisse prendre ses informations sur plusieurs(8 ou 10) feuilles de la même architecture que celle que tu as fait
dans ce post
pour m'exercer a manipuler tes cbxlies et créer un classeur client a mon voisin en m'appropriant celui que tu fait pour fenec

pascal
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Bonsoir

C'est très malcommode de baser un ComboBoxLiées sur une base éparpillée dans plusieurs feuilles.
Presque impossible.
Toutefois la méthode Actualiser d'un ComboBoxLiés ou ComboBoxLiées permet de spécifier une plage dans une feuille chaque fois différente, pourvue qu'il y ait les mêmes colonnes. Un ComboBox non géré par lui pourrait donc en principe orienter la recherche vers des feuilles différentes. Mais ça n'a jusqu'ici pas été appliqué.
 

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

bonsoir dranreb

même si ces feuilles sont des classeurs séparées voir des feuilles dans un classeur
dans actualiser je suppose que tu parle de cette ligne
Code:
If Not NouvellePlage Is Nothing Then Plage NouvellePlage
Pascal
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Oui c'est bien cette instruction qui assume cela. Mais je préfère qu'on se fie aux commentaires guides:
' NouvellePlage: Optionnel: la nouvelle plage au cas où elle aurait changé de taille sans qu'il n'ait été
' possible que celà soit noté dans sa référence (ajout après, au lieu de Copy/Insert de la dernière).
Il est vrai que ça n'insiste pas vraiment sur la possibilité que ça pourrait ouvrir de travailler avec plusieurs feuilles.
 

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Oui, j'en profite un peu pour dire qu'il vaut mieux insérer une copie de la dernière ligne de CL.PlgTablo devant elle même, pour ne pas avoir besoin de ré-indiquer la plage. C'est ainsi que c'est fait dans le classeur de Fenec lors d'un ajout. Mais ça n'a rien à voir avec l'idée de travailler avec plusieurs feuilles. Pourquoi votre base est-elle éclatée sur plusieurs feuilles ?
 

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

bonjour dranreb

merci de ta réponse, mais si je fais cela et que l'envie me prenne de le greffer sur mon fichier de facturation il va y avoir du boulot, si tu veux tu peux un m'expliquer ce qu'il faut modifier où rajouter pour faire ce que tu dit être plus simple, si tu veux un classeur exemple c'est faisable

pascal
 

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Je ne comprends guère ces objections.
Un objet ComboBoxLiées est fait pour retrouver facilement une ligne dans une base organisée simplement, portant en même temps les valeurs choisies dans plusieurs ComboBox dans différentes colonnes, ou un ensemble de lignes les ayant toutes, point final. Il renvoie une table des numéros de lignes dans la base qui sont en conformité avec tous les choix. Ce qu'on en fait derrière ne le regarde plus, et c'est souvent ça le plus compliqué. J'ajouterais pour finir que plusieurs ComboBoxLiées peuvent être utilisé dans un même UserForm (par exemple un pour aller puiser dans une base Clients, un autre pour une base Articles) à condition de ne jamais confier la charge d'une même ComboBox à plusieurs à la fois, actifs en même temps.
 

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

bonsoir dranreb

merci pour tes explications que j'ai copiés pour ne pas les perdres et après mon repas je vais voir pour mettre mes articles l'un en desous des autres et essayer de parametrés les codes pour qu'ils trouvent les colonnes

Pascal
 

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Bonjour.
Oui, ça à l'air pas mal.
Si ça marche, ça devrait aussi en remplaçant les fournitures par leurs versions plus moderne utilisant des Variant appelés Sujets à la place de dictionnaires arborescents. Dans l'Userform juste à ajouter un "e" au type en avant dernière position: "ComboboxLiées".
Je ne peux pas le tester, en l'état, car pour ma version d'Excel je suis toujours obligé d'utiliser un convertisseur de xlsm en xls, et celui ci réagit très mal dès qu'il y a un CommandButton dans une feuille Excel (impossibilité de sortir du mode création, et j'ai beau supprimer le bouton, essayer d'en mettre un des miens à la place, rien ne marche, le classeur reste vérolé)
Juste une remarque: le bouton Effacer est juste fait pour effacer les ComboBox eu vue de rechercher autre chose, pas pour décharger l'UserForm. Et pour un bouton pour le décharger, il serait inutile de faire un CL.Nettoyer devant.
 
Dernière édition:

Discussions similaires