XL 2019 formulaire de recherche à 4 ComboBox

Emmanuel-G

XLDnaute Nouveau
Bonjour

Etant novice dans la programation VBA sous Excel et après de multiple essais qui ne fonctionnait pas, n'ayant rien trouvé d'équivalent sur le net (Forum, you tube etc..) .

Je sollicite votre aide pour ce formulaire de rechercher fonctionnant avec quatre ComboBox (Clien, titre, pagination, pli).

La base de données se compose de 43 collonnes réparti de 7 ComboBox, 1TextBox et 35 TextBox à valeur numérique).

Je vous remercie par avance de votre aide
 
Solution
Je me suis amusé à terminer l'UFmRecherche parce qu'il était assez simple.
Il me paraît cependant assez inutile: S'il fallait absolument pouvoir consulter tous les tableaux de "Liste Rotoman" on pourrait très bien mettre le même dispositif dans l'UFmSaisie.

*** Pièce jointe mise à jour ***

Dranreb

XLDnaute Barbatruc
Bonjour.
Remarque : s'il n'est pas aisé d'envisager un classeur dont le projret VBA fait référence à celui d'un complément .xlam, s'il devait par exemple être ouvert depuis un chemin de réseau local ou distribué à plusieurs utilisateurs, il serait possible d'équiper des modules de service nécessaires le classeur modèle de la base de données à consulter et mettre à jour que vous allez joindre.
 

Dranreb

XLDnaute Barbatruc
Je vais regarder votre fichier.
Les conversion en numériques sont aussi assumées par mes objets ComboBoxLiées et ControlsAssociés si on utilise leurs méthodes ValeursVers.
Avez-vous vu que juste après l'installation, "CLsCAs" doit être coché dans les références du projet VBA de votre classeur d'application ? S'il a été installé lors d'une session Excel antérieure, vous devez, pour l'ouvrir à nouveau, cocher "CBx liées et Ctl associés" dans les compléments, coté Excel cette fois.
 

Dranreb

XLDnaute Barbatruc
J'ai ouvert le fichier.
Les points positifs de prime abord
1) — La référence à CBxLCtlA.xlam est bien cochée.
2) — La base à mettre à jour est sous forme de tableau
Les point plus gênants
1) — Des listes indépendantes. J'espère qu'elle ne devront pas être appliquées à des ComboBox devant faire l'objets de recherche dans la base. L'objet ComboBoxLiée fabrique en effet automatiquement des listes dynamiques classées et sans doublon à partir de ce qu'il trouve dans la base et de ce qui a déjà été renseigné dans certaines.
2) — Plusieurs UserForm. Je propose d'habitude un seul pour consultation et mise à jour d'une base.
On décide si ou va ajouter, modifier ou supprimé seulement après avoir renseigné les ComboBox correspondantes. La reherche est toujours obligatoire, même pour du neuf.
 

Dranreb

XLDnaute Barbatruc
Oui c'est bien cela. Les ComboBox prise en charge par CLs ne doivent donc pas avoir leur propriété RowSource renseignée. C'est bien uniquement d'après la base à mettre à jour que ces listes sont automatiquement déterminées par l'objet ComboBoxLiées. Si on y tape un nouveau client et qu'on valide, il figurera automatiquement dans cette liste pour la suite des opérations.
Maintenant si vous y tenez, mais ça complique peut être pour rien, il est possible de stopper cet objet en vue d'affecter temporairement une liste fixe à la ComboBox. Mais préférez
cboCLient.List = [Tableau_Client[Client]].Value plutôt que l'utilisation de RowSource.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Pour l'instant il n'y a rien d'énorme puisqu'il n'y a que 7 lignes dans la base. Les listes des ComboBox prises en charge par CLs ne peuvent donc pas comporter plus de 7 éléments. Elles pourraient à la rigueur en comporter moins s'il y avait des doublons dans la colonne. Mais il ne peut pas y avoir de doublon de l'ensemble de la combinaison de toutes les ComboBox prises en charge par CLs.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Information: Je commence aussi mes noms d'objets par un trigramme de 3 lettres, mais ce ne sont pas les même que les vôtres. Les miens obéissent à une règle simple à se rappeler: S'il n'y a qu'une majuscule dans son nom de type, je prends les 1ères lettres, sauf les "a". Sinon je prend la 1ère majuscule, la dernière majuscule et la dernère lettre. Donc entre autres CBx pour CombBox, TBx pour TextBox et CBn pour CommandButton.
Bon, j'ai quand même 9 exceptions: Pour Chart je prends Cht et non Chr comme l'indiquerait la règle, pour CheckBox Ckx et non CBx (qui se confondrait avec celui des ComboBox), pour Collection: Cln et non Col, pour Control: Ctr et non Con, pour File: Fle et non Fil, pour Folder: Fdr et non Fol, pour Label: Lab et non Lbe, pour Workbook: Wbk et non Wor, enfin pour Worksheet: Wsh et non Wor.
À noter que selon cette règle Frm est un Frame et non un UserForm qui lui a UFm.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
C'est normal, je n'ai pas essayé de finaliser l'UFmSaisie, j'ai juste mis à peu près les procédures qu'il faudra. J'attends que vous fassiez les CAs.Add pour tous les contrôles.
Une permission refusée survient en général quand un RowSource a été laissé renseigné pour une ComboBox prise en charge par un ComboBoxLiées.
Le changement de couleur des ComboBox prises en charge par un ComboBoxLiées est automatique si sa méthode CouleurSympa a été invoquée.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
C'est peut être dû au concours de 2 circonstances :
1) — Le projet VBA CLsCAs n'est plus ouvert chez vous,
2) — Il ne peut plus l'ouvrir automatiquement pour l'instant parce que la référence est indiquée pour un chemin venant de chez moi, qui n'existe pas chez vous.
Pour l'ouvrir, du coté Excel, cocher "CBx liées et Ctl associés" dans la liste des compléments disponibles, menu Développeur, groupe Compléments, commande Compléments Excel.
Si du coté VBA la référence à CLsCAs est toujours portée MANQUANT, dé-cochez la, puis re-cochez la.
 

Emmanuel-G

XLDnaute Nouveau
Bonsoir.
Cette ressource se charge de tout :

Bonsoir.
Cette ressource se charge de tout :
 

Emmanuel-G

XLDnaute Nouveau
bonjour

Je vous envoie le fichier du programme en question, il y a encore pas mal de travail à faire. Une fois la partie recherche faite, il ne me restera plus que la partie modification et suppression, et si tout fonctionne il n'y aura plus que des amélioration à y apporter (mettre les cases en numérique etc ...).

Je tiens à vous remercier pour la réponce et pour le programme, l'installation s'est pas trop mal déroulé mais je n'arrive pas à le faire fonctionner pour le momment.
Cordialement
Emmanuel
 
Dernière édition:

Emmanuel-G

XLDnaute Nouveau
Voici le fichier du programme (le bouton de recherche doit avoir pour seul fonction la recherche pour éviter que les personnes pas habilité ne puisse pas avoir accès aux modifications car par la suite les boutons (affiche le formulaire de saisie et modification / supression) seront proteger par mot de passe).
 

Pièces jointes

  • Programe des réglages Machine.xlsm
    49.4 KB · Affichages: 26
Dernière édition:

Statistiques des forums

Discussions
312 359
Messages
2 087 589
Membres
103 603
dernier inscrit
totoro94