userform recherche multiple

devilmort

XLDnaute Nouveau
Bonjour a tous

J'ai un petit souci.

J'ai un fichier xls avec un userform j'aimerais créé un bouton suivant et précédent lorsque je fais une recherche et que celle-ci trouve plusieurs ligne possible

Pour exemple faite la recherche 12340200 en AISM il y a deux résulta lorsque je fait la recherche il me donne la première ligne trouver hors j aimerai défiler les différent résultat avec le bouton suivant pour trouver la bonne ligne et faire les modification éventuel

Voir pièce jointe
merci de prendre le temps de me lire et éventuellement m'aider.

Bonne réception.
Respectueusement.
 

Pièces jointes

  • Parc PEGP - Copie.xlsm
    357.5 KB · Affichages: 66

devilmort

XLDnaute Nouveau
Oui vous avez bien compris
En ce qui concerne le tableau la mise en forme il ne faut pas y toucher juste quand il y as une nouvelle entrée le trie doit ce faire dans l'ordre des EMAT8 puis dans l'ordre des AISM
LA macro ventiler fonctionne donc de ce côté on touche à rien

Pour les formulaires j'aimerai en avoir 3 pour la distinctions des 3 parc

Merci de votre aide
 

Dranreb

XLDnaute Barbatruc
Pourquoi ne peut on pas créer des ListObject pour les tableaux ?
Ça a des avantages, vous savez…
La distinction à quel niveau ? Rien n'indique dans l'UserForm sur quel parc on travaille, et la structure des tableaux est la même dans les 3 feuilles.
 

Dranreb

XLDnaute Barbatruc
Un Label suffira.
Mais si vous ne voulez plus que la feuille sur laquelle on travaille soit la feuille active votre macro ventiler ne marchera plus…
Et pour les tableaux donnant lieu à des ListObject ? Pourquoi pas ? (sélectionnez les titres + la partie utilisée du tableau, menu Accueil, groupe Styles, commande Mettre sous forme de tableau). Ça a tellement d'avantages que je vous le propose une dernière fois.
J'espère que les couleurs dans les colonnes B et F n'étaient là que pour montrer quelque chose, et qu'elles peuvent être supprimées. Sinon, même sans ListObject je ne saurais comment faire.
Ah, non, je n'ai rien dit. Je n'avais pas vu que c'était assumé par des mises en formes conditionnelles. C'est possible aussi dans les ListObject, bien sûr.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
La mise sous forme de tableau peut être faite de façon à ne rien changer dans la présentation.
C'est plus une facilité d'utilisation qu'une question de présentation.
Enfin bon. Je l'ai écrit sans ListObject pour l'instant mais en laissant en commentaires les instructions qu'il faudrait avec.
À tester.

Attention, je viens de le remplacer parce que j'avais oublié de mettre en commentaires certaines instructions Avec ListObject.
 

Pièces jointes

  • CBxLiéesDevilmort.xlsm
    87.3 KB · Affichages: 34
Dernière édition:

devilmort

XLDnaute Nouveau
merci de ton aide
-première question es-que je vais devoir installer CBxL.xlsm sur tout les poste qui vont utiliser ce fichier
-il y as un petit bug lors d'un ajout de ligne le n° AISM se copie sur les colonnes C et D alors quel devrait être seulement en D et l'ASM en C
-j'ai juste un souci avec le bouton base/parc ne serait il pas plus simple de ne pas l'avoir du tout
-serait il possible après ajout et modification d'avoir un message enregistrement effectuer et de remettre le formulaire a zéro.
-et en ce qui concerne archiver un avertissent "êtes vous sur de vouloir archiver" puis un message enregistrement effectuer avec remise a zéro du formulaire
il vas falloir de mon cote que j'apprenne tes codes pour les comprendre
 

Dranreb

XLDnaute Barbatruc
Oui, CBxL.xlam devra être installé sur tous les postes, à moins d'équiper le classeur d'application des modules de service nécessaires (3, dont 1 standard et 2 de classe. Deux sont très gros, mais quand même bien moins que les bibliothèques Microsoft !).
Dans la Sub DéchargerAutresContrôles il faut TV(1, 3) = CBxASM.Text au lieu de CBxAISM.Text.
Vous pouvez provisoirement le mettre en bas, à une position au delà de la bordure inférieure de l'UserForm jusqu'à ce qu'on définisse exactement comment utiliser la feuille "base", en ajout et en modification. Car ce bouton permet d'y accéder pour retrouver l'EMAT8 et l'ASM correspondant, ou l'inverse.
Remettez des MsgBox si vous y tenez, mais à mon avis ils sont plus nuisibles qu'autre chose: les gens prennent simplement le réflexe de faire systématiquement Entrée après avoir cliqué sur le bouton, sans tenir compte en rien du message, et s'aperçoivent quand même après seulement qu'ils se sont trompés. D'ailleurs le fait que l'enregistrement reste affiché après un Ajout, avec possibilité de le Modifier prouve que l'enregistrement a été ajouté. Sinon pour tout effacer le mieux c'est d'exécuter CLsP.Nettoyer tout à la fin. Mais c'est ce que fait le bouton Effacer. On pourrait l'associer à la touche Echap.
Essayez en ajoutant: , "00000000" derrière les Add de ces ComboBox, dans la UserForm_Initialize s'il est normal qu'ils puissent trouver des nombres au lieu de textes, et mettez alors aussi ce format aux cellules. Si vous voulez qu'il l'écrive tel que tapé mettez ,"&" Mais ça ne suffira pas forcément pour que Excel ne le convertisse pas quand même en nombre quand c'est possible. Pour être sûr qu'il ne le fera pas il faut aussi mettre un format Texte aux cellules. Mais attention: les textes composés de chiffres ne sont pas classés selon la valeur qu'ils forment en les interprétant comme nombres. Normalement d'abord sur le 1er chiffre puis le second etc. "123" vient donc après "0124". Et même "1" après "09999999".
Il doit y avoir aussi une erreur dans la CBnArchiver_Click: ce serait WshArchive.[A1:H1] plutôt que WshArchive.[A2:H2]
 
Dernière édition:

devilmort

XLDnaute Nouveau
Bonjour

J'arrive a mon bureau ce matin et la grande surprise "Erreur de compilation: Type défini par l'utilisateur non défini"

J'ai bien ajouter le CBxl.xlam hors dans références j'ai "MANQUANT : CBxL.xlam
j'ai essayer de décocher mais rien y fait.

en ce qui concerne l'onglet base je n'es pas besoin de bouton dans mon userform cette onglet sera rempli a l'aide d'une extraction venant d'un autre logiciel.

je n'es donc pas tester les modification de votre message précédent a cause de cette erreur.

Bonne réception.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Vous devez bien faire une modif sue tous les PC pour installer le classeur d'application, non ?
À moins qu'il soit sur un réseau, mais dans ce cas on devrait pouvoir faire en sorte que le complément y soit aussi.
Bon. On fait partout comme si cette feuille Base n'existait absolument pas, alors ?
 

devilmort

XLDnaute Nouveau
j'ai fait quelque modif mais j'ai des bug

Pour l'archive si je fait une modif avant d'archiver celui-ci n'est pas pris en compte, ensuite j'ai bien mon message êtes vous sur d'archiver mais si je clic sur non il archive quand même

j'ai aussi un bug qu'une donnée reste sur EMAT8 quand j'ouvre le formulaire
 

Pièces jointes

  • CBxLiéesDevilmort.xlsm
    71.7 KB · Affichages: 28

Discussions similaires