Probleme recherche par userform

Mzrci pour ces précieux conseils.... Je vais les appliquer de suite.

Super, j'ai essayé...en rajoutant end if évidement après Call combobox2_change....J'ai également rajouter pour qu'il fasse vraiment la recherche, un bouton Nouvelle recherche, dont voici le code :

Private Sub CommandButton2_Click()

Unload me

FinCAZ.Show.....Du coup ca réinitialise mon userform...c'est génial...

Merci Dan pour ta patience....Tous les jours j'apprends....Pourquoi lorsque je réinitialise mon moteur de recherche, pour TOUS, il ne recherche pas le CAZ? il me donne les noms mais pas le CAZ

Je me suis attaquée à un autre soucis....Dans ma recherche par nom, j'ai rajouter un bouton modifier....le soucis, c'est qu'il m'ouvre le userform en ne reprenant pas le combobox de mon nom...Comment faire, sachant que ce sont 2 formulaire indépendant?

Super, j'ai essayé...en rajoutant end if évidement après Call combobox2_change.

Non, vous devez utiliser le code comme je vous ai donné. L'instruction IF est sur une seule ligne. Donc pas de END IF. Et vous ne devez pas mettre un END IF après le CALL
Rectifiez le code comme je vous ai donné. Donc tout sur une ligne..

J'ai également rajouter pour qu'il fasse vraiment la recherche, un bouton Nouvelle recherche, dont voici le code :

Je n'ai pas compris pourquoi vous faites cela. Avec le code que je vous ai donné, vous n'avez pas besoin de deuxième bouton. Vous changez uniquement la liste déroulante ACCES, et l'userform va s'adapter au niveau date.

Merci Dan pour ta patience....Tous les jours j'apprends....Pourquoi lorsque je réinitialise mon moteur de recherche, pour TOUS, il ne recherche pas le CAZ? il me donne les noms mais pas le CAZ

Le choix TOUS vous renvoie tous les noms dans la tableau sans tenir compte de date. On pourrait d'ailleurs supprimer la date dans le textbox pour ce cas là.

Je me suis attaquée à un autre soucis....Dans ma recherche par nom, j'ai rajouter un bouton modifier....le soucis, c'est qu'il m'ouvre le userform en ne reprenant pas le combobox de mon nom...Comment faire, sachant que ce sont 2 formulaire indépendant?

La recherche par nom se fait avec l'userform Recherche ??

J'ai 4 userform :

* un pour l'entrée des intervenants, noté "userform1",

* un pour modifier les données des intervenants, noté "Modification",

* un pour une recherche par nom, noté "Recherche",

* et enfin, le dernier pour fin des accès, noté "FinCAZ".

Dans mon userform recherche, j'ai ajouté un bouter modifier qui ouvre l'userform "Modification". Le soucis, c'est qu'il ne reprends pas le nom et prénom de la personne dont je veux modifier un accès....Normal, les noms/prénoms ne viennent pas de la même liste.

J'avais bien une solution c'est de tout changer...soit de créer une base de données énorme incluant le domaine administratif, les accès, les visites médicales et les formations...mais j'ai du mal à visionner la chose encore...on va dire que j'y pense, comme ça du coup les noms et prénoms appartiendraient à la même bas de données...ce serait donc ainsi plus facile...enfin c'est ce que je pense.....

SInon j'ai modifié le combobox1 change...et en effet ca marche...j'avais du mal écrire...je l'ai écrit exactement comme tu las fait....

Concernant ma colonne concatener...je l'ai rajouter pour la mettre dans mon userform modification...il ne prenait que le nom....C'était un moyen facile de contourner le problème

J'ai 4 userform :

Dans le fichier, j'en ai 5... "Joutmedical, FinAcces, rechercher, modification et userform1

Dans mon userform recherche, j'ai ajouté un bouter modifier qui ouvre l'userform "Modification". Le soucis, c'est qu'il ne reprends pas le nom et prénom de la personne dont je veux modifier un accès....Normal, les noms/prénoms ne viennent pas de la même liste.

Vous pourriez partir de l'userform1 pour faire une recherche et modifier la base de données. Ce qui veut dire que vous n'auriez plus qu'une seule Userform... Là il faut peut être se poser un peu afin de réfléchir sur le projet

En premier je dirais de créer une feuille avec toutes vos références. Exemple : colonne A, les sites, Colonne B échéance, colonne C les voitures. Une fois fait on utilise ces infos pour compléter l'userform1. Bon c'est un peu revoir le projet mais cela va vous faciliter les choses.

Mettez moi votre fichier actuel en ligne que je regarde.

J'en ai plus que 5 mais pour les accès j'en ai 4, le médical en a 4 aussi, 3 pour les formations. et 4 pour l'administratif...mais pour l'instant j'en ai que 7....4 pour les accès et 3 pour le médical....Je me dis que ce serait mieux si je n'avais qu'une seule base de donnéj'ai l'impression que je vais reprendre tout depuis le début.

Je vais recomencer et je reviendrais quand j'aurais refait tout...

Merci DAN

Bonjour

.Je me dis que ce serait mieux si je n'avais qu'une seule base de donnéj'ai l'impression que je vais reprendre tout depuis le début.

Oui je confirme. Et au vu du fichier, c'est possible. Pensez d'abord à la mise en place des rubriques de base de données dans votre feuille.
Pour ce qui est de la feuille de référence, voyez un exemple dans le fichier joint qui reprend la liste des Sites, voiture, etc...

4classeur1.xlsx (10.49 Ko)

Voyez ce lien qui montre une userform qui reprend, l'ajout, la modification et suppression -> https://forum.excel-pratique.com/excel/modifier-dans-la-listbox-et-textbox-en-cas-de-recherche-142729

Cordialement

Merci Dan,

J'ai retravaillé ma base de données en créant des multi-pages. Je ne sais pas si je les utilise correctement, mais au moins j'ai tout regroupé.

Plusieurs questions malgré tout (je n'ai fait que la page création sans finir la page formation) :

1) Est-il possible que sur la page récapitulatif, mon formulaire de crétion s'affiche à l'ouverture? ou dois-je plutôt créer ce formulaire directement sur la feuille récapitulatif?

2) A quoi sers sur la boite à outil l'onglet : contrôle multipage?

3) Le vif du sujet : lorsque j'ouvre mon formulaire accueil, je sélectionne le nom dans mon combobox, mais comment faire pour que lorsque la page du formulaire création s'ouvre, ce nom/Prénom se déconcatene dans mes textbox appropriés?

Pour que ce soit plus clair, voici mon nouveau dossier.

5classeur2.xlsm (219.47 Ko)

oups j'ai mis l'original.....

1classeur2-1.zip (316.52 Ko)

J'ai contourné le problème et le voici actuellement.

1classeur2.zip (348.05 Ko)

Bonjour

Merci pour le fichier. Pour répondre à vos questions

1) Est-il possible que sur la page récapitulatif, mon formulaire de création s'affiche à l'ouverture? ou dois-je plutôt créer ce formulaire directement sur la feuille récapitulatif?

Vous parlez de l'ouverture du fichier ? Actuellement vous cliquez sur le bouton qui vous ouvre un formulaire. Si vous cliquez sur Creer cela vous ouvre le formulaire de création.

2) A quoi sers sur la boite à outil l'onglet : contrôle multipage?

Le contole mutltipage correspond aux onglets que vous avez créé dans la formulaire creation (administratif, accès, santé, etc...). C'est ce que vous avez créé. Par contre ce controle Onglet ne fait pas la même chose. Vous pourriez l'utiliser par exemple pour créer un TAB par marque de voiture. Chaque pourrait vous renvoyer la liste des modèles.
Pour le fichier, le controle mutltipage est celui qu'il fallait utiliser.


Edit :

1. Dans l'userform Creation, vous pouvez remplacer ce code :.

Private Sub Marque_Change()
Dim dlg As Byte, col As Byte
With Sheets("Liste")
    col = .Rows("2:2").Find(Marque.Value, LookIn:=xlValues, lookat:=xlWhole).Column
    dlg = .Cells(.Rows.Count, col).End(xlUp).Row
    Modele.List = .Range(.Cells(3, col), .Cells(dlg, col)).Value
End With
End Sub

2. Dans ce code Private Sub Vehicule_AfterUpdate(), vous pourriez faire en sorte que si pas de véhicule, vous supprimez la possibilité de compléter la marque, le modèle et l'immatriculation. Car là les listes restent actives et vous pourriez changer le NON par une valeur dans ces deux combobox. Votre avis ?

En fait, sur la feuille récapitulatif, je souhaite que le formulaire acceil intervenant soit affiché en permanence.

J'ai testé le code Marque, c'est nickel, même si pour moi, le code c'est du chinois....mais ca marche et ca réduit beaucoup mon userform....

Pour la deuxième question c'est vrai que ce serait bien. comment faire? Est-ce que je dois lui dire de bloquer la combobox et le textbox immatriculation? je sais qu'on peut les bloquer mais aucune idée de comment. juste en écrivant combobox.locked?

Je suis en train de faire la création des formations...C'est long, car ca dépend des combobox.....du coup j'ai des if then partout....

Voici la suite de mon fichier.

2classeur2.zip (372.78 Ko)

J'ai oublié...donc si je comprends bien, j'aurais du utiliser le controle Onglet et non le multipage???? Je dois tout reprendre?

Merci encore pour tes réponses......

Bon bah voilà...mes connaissances ne sont pas suffisantes pour ça.....J'ai eu droit à procédure trop grande...je ne sais pas comment faire....un coup de main, please...

Re,

Point 1.

Pour la deuxième question c'est vrai que ce serait bien. comment faire? Est-ce que je dois lui dire de bloquer la combobox et le textbox immatriculation? je sais qu'on peut les bloquer mais aucune idée de comment. juste en écrivant combobox.locked?

Voici le code :

Remplacer le code Private Sub Vehicule_AfterUpdate() par celui ci-dessous :

Private Sub Vehicule_Change()
Dim valeur As Boolean
Marque = ""
Modele = ""
Immatriculation = ""
Select Case UCase(Vehicule)
    Case Is = "OUI": valeur = True
    Case Is = "NON": valeur = False
End Select
Marque.Enabled = valeur
Modele.Enabled = valeur
Immatriculation.Enabled = valeur
End Sub

Du coup, dans la colonne E (Marques), on peut supprimer le NON qui ne sert plus à rien.

Point 2

J'ai oublié...donc si je comprends bien, j'aurais du utiliser le controle Onglet et non le multipage???? Je dois tout reprendre?

Non du tout c'est bon cela

Point 3

Je suis en train de faire la création des formations...C'est long, car ca dépend des combobox.....du coup j'ai des if then partout....

Je peux peut être aider mais il faudrait que je comprenne le but final attendu

Bah ce qui devait arriver arriva...Procédure trop longue...Trop de combobox avec changement important.....

Je m'explique. J'ai énormément de formations possibles, donc au lieu de toutes les mettre, j'ai opté pour une vingtaine de combobox regroupant toutes les formations chacunes....donc chaque combobox comporte 51 formations. Dans le formulaire création, tu choisis dans le combobox la formation et tu inscrits dans le textbox en face la date de fin...

Voilà...Moi qui trouvait l'idée facile....bah oui...trop simple.....au moins j'aurais tenté....

8classeur2.zip (383.88 Ko)

Donc chaque personne peut avoir plusieurs formations ? D'où toutes les colonnes à droite pour confirmer les dates de formation ?

Est-ce qu'il se peut qu'une personne suive une formation en aout puis refasse une autre formation en janvier prochain

Au fait, pourquoi dans l'userform création, on ne peut pas mettre de nom ?

Toutes les formations sont indépendantes, donc oui, on peut faire une formation un jour et le lendemain voir une semaine ou 1 mois plus tard en refaire une....

Pour le nom, il est dans l'userform tout en haut...

Pour le nom, il est dans l'userform tout en haut...

Oui je sais cela. mais si on ouvre l'userform, on ne sait pas compléter cette rubrique

edit : C'est ok pour le code Vehicule_change que je vous ai proposé car il n'est pas dans votre dernier fichier. Je le mets si Ok

euh....comment ça on ne sait pas comment compléter le NOM?

Sinon je vous l'ai envoyé avant de le modifier

Non c'est bon. Il fallait se mettre en mode majuscule sur le clavier, sinon cela ne fonctionne pas. On aurait pu éviter cela en disant au code de mettre le nom en majuscule.

Je vais analyser pour les formations afin que cela soit plus facile

Rechercher des sujets similaires à "probleme recherche userform"