Lancer macro par commandbutton, résultat, puis relance si mauvais résultat
Bonjour
Dans un USF, j'ai créé plusieurs ComboBox et TextBox, et le résultat de tous ces éléments forme un item enregistré dans une feuille excel sur une ligne et sur plusieurs colonnes.
Je voudrais, avec un CommandButton, pouvoir effectuer la recherche d'une occurence ou dans la colonne A, ou la B, ou la D,... ou quelques autres, mais une seule à la fois, bien sûr.
Le choix de recherche est effectué par l'utilisateur, qui indique à travers une ComboBox sur quelle colonne (Nom, prénom, commune,...) il souhaite effectuer la recherche, et il indique également le texte à rechercher par écriture d'un mot clé dans une TextBox dédiée également (valeur du nom, valeur du prénom, valeur de la commune, ...).
L'utilisateur lance la recherche en cliquant sur un CommandButton intitulé "RECHERCHE" (caption). La macro se déroule en boucle et quand la première occurence est trouvée, la macro remplit le formulaire avec toutes les valeurs enregistrées de la ligne où l'occurence a été trouvée.
Si ça n'est pas la bonne liste de valeurs que l'on recherche, un nouveau click sur le bouton "RECHERCHER" est effectué, jusqu'à trouver la même occurence sur une ligne suivante qui correspond au critère de recherche... et ainsi de suite jusqu'à la fin du tableau si l'utilisateur n'a pas trouvé ce qu'il cherchait.
La recherche et la boucle, pas de souci. Mais comment renseigner le code pour faire intervenir le CommandButton afin de réaliser une pause à chaque occurence trouvée, et continuer la recherche avec un nouveau clic sur ce bouton comme décrit ?
Il faut que ce soit le même bouton pour initier la recherche et la poursuivre si besoin.
Si ma question ne vous semble pas assez claire, je peux joindre le fichier .xlsm si besoin, mais il comporte déjà pas mal de procédures et modules, et d'infos confidentielles, et n'a pas encore été "nettoyé" de tous les brouillons mis en commentaires. Je transmettrai alors un fichier bidon, fidèle à l'original.
Merci pour votre aide.
Bien cordialement,
F.Jx
Bonsoir Fjx,
Comme le code peut être compliqué, merci de joindre votre fichier anonymisé SVP
A+
Bonjour BrunoM45
Voici le fichier anonymisé. J'espère ne pas en avoir "trop" enlevé...
Il s'agit du CommandButton7 "RECHERCHER", du ComboBox8 pour renseigner le type de recherche, du TextBox17 pour le libellé de la recherche. Le tout en bas à droite du formulaire.
Merci.
Cordialement,
F.Jx
Personne ne peut m'aider ?
Bonjour FJx
Désolé, pas vu votre réponse avec le fichier 😕
J'essaie de regarder des que possible ou d'autres le feront 😉
Bon dimanche
Bonjour Bruno.
Oui merci. Pas de souci. Mais j'ai hâte d'avoir un petit coup de main quand même...
Bonne fin de dimanche.
Bonsoir FJx
Je viens d'ouvrir votre fichier et le moins que je puisse dire c'est
Comme dirait un ancien militaire que je connais : "c'est le bordel mon colonel"
Vous êtes apparemment en Office 2019 et aucun tableau structuré à l'horizon.
Vraiment désolé, je ne peux aider dans ces conditions, quelqu'un de plus patient passera peut-être par là pour le faire
Bonne chance
Bah désolé, mais je débute en VBA. Donc oui, ce n'est sûrement pas du travail de pro. Et je n'ai jamais vu de grandes applications avec un beau code bien structuré.
Donc j'essaie, je cherche, je demande. Quelquefois, ça marche.
Mais merci quand même, BrunoM45.
Re,
On peut débuter, j'ai débuté tout comme vous
Mais le VBA n'a rien à voir avec l'utilisation d'Excel et de ses tableaux structuré (la base)
De plus lorsque j'ai débuté (il y a quelque décennies maintenant) j'ai tout de suite cherché à faire du mieux possible,
en respectant certains procédures que j'avais lu ça et là et non à la "va vite", ce n'est jamais bon en finalité
Ceci dit, je n'avais pas envie de vous laisser comme ça, et j'ai fait un code (vite fait cette fois)
je n'ai absolument rien compris à votre façon de procéder, mais le code semble répondre à votre demande
Ceci dit, je n'irai pas plus en avant dans de telles conditions
Edit : les conseils
Pour Excel : Utiliser le plus possible les Tableaux Structurés, bien plus facile à utiliser
Pour VBA : Mettre "Option Explicit" à chaque début de module, ce qui vous obligera à déclarer vos variables
Déclarer ses variables dans les bons type (As Long, As Integer, As Range, etc...)
Des super tutos existent pour une développement dans les normes
Bon courage
Merci beaucoup pour ces remarques très pertinentes. Je vais essayer d'apprendre comme il faut, donc. Ca ne s'invente pas, c'est un métier !
Je regarde votre code, en vous remerciant de vous y être penché.
Bien cordialement,