XL 2016 En recherche d'un moyen pour cocher dans une BDD depuis une liste déroulante

guillaume0212

XLDnaute Nouveau
Bonjour à tous.
Actuellement en train d'essayer de créer un formulaire de recherche relié a une BDD sur Excel, je n'arrive pas à trouver de solution pour cocher (ou remplir une cellule avec un "Oui" ou "Non")dans ma BDD une fois que je coche sur la page de recherche avec liste déroulante.

Pour faire plus simple vu que même moi j'ai du mal à me comprendre, je vous joint le fichier simplifié en PJ.

Mon premier onglet est mon formulaire de recherche dans lequel j'ai déja mis des RechercheV et une liste déroulante lorsqu'on recherche le nom.
Le second onglet est la BDD dans laquelle je souhaiterai que la colonne F "Distribué" puisse être incrémentée.

En vous remerciant grandement par avance si quelqu'un peut m'aiguiller :(

Guillaume
 

Pièces jointes

  • TEST 2.xls
    257.5 KB · Affichages: 8

chris

XLDnaute Barbatruc
Bonjour
pourquoi utiliser un format xls périmé depuis 17 ans ?

Une solution PowerQuery : si le nom est rempli cela cherche sur le nom sinon sur le numéro

Actualiser via le clic droit ou Données, Actualiser tout ou une ligne de code VBA
 

Pièces jointes

  • Recherche_PQ.xlsx
    25.6 KB · Affichages: 7

guillaume0212

XLDnaute Nouveau
Bonjour Chris,
merci pour ta réponse. Pour le format xls c'était une erreur je travaille avec du xlsx.

Powerquery je vois l'outil mais ne le connais pas du tout.

J'ai regardé ton fichier mais ne comprends pas trop :

- comment actualiser automatiquement avec une VBA vu que je n'ai pas trop de connaissances en prog
- comment une fois le nom trouvé par le formulaire de recherche, avoir une case pour qu'il soit coché ou surligné ou annoté dans la BDD :(

Merci par avance.

Guillaume
 

chris

XLDnaute Barbatruc
RE

Tu as pourtant une requête POwerQuery dans le fichier que tu as posté qui pointe vers L:\DIV\Agsd\Data\Security\BCI\EVENT\2023\Forum Public 2023\Listes\V2.csv...

Pour le VBA : comme on ne sait laquelle des 2 colonnes tu vas vider/remplir, on ne peux automatiquement actualiser au changement de valeur, donc il faut lancer l'actualisation
Sachant que le bouton Données, Actualiser tout peut être mis dans la barre de lancement rapide, est-ce utile d'ajouter un second bouton à côté du tableau de choix ?
Si oui je te donnerai le code à y associer.

En fait je ne suis pas sûr d'avoir compris ce que tu veux faire

Dans ton fichier initial que tu remplisses le nom ou le numéro tes 2 tableaux fonctionnent.
Donc en fait si je relis ton 1er post, tu veux cocher la BDD pour indiquer que cette ligne a été recherchée ?
Dans la colonne Distribué ?

Si c'est juste cela il faut un bouton pour cocher dans la BD la ligne trouvée.

Dis-moi si c'est cela...
 

guillaume0212

XLDnaute Nouveau
Re Chris,

la Power Query présente je l'ai faite sans m'en rendre compte à priori^^ Elle doit venir du fait que j'ai récupéré les données du CSV pour obtennir les caractères manquants du fichier xlsx.

Concernant le but tu as quasiment cerné ce que je veux obtenir:

Dans la BDD je vais entrer tous les noms-prénoms-numéro de badge-Type

Dans le formulaire de recherche, je veux pouvoir trouver
-"Nom-prénom-Type-Distribué ou pas" quand je tape un numéro de badge
-"Numéro de badge-Prénom-Type-Distribué ou pas" quand je tape un nom (Résultat se rapprochant)
- Avoir en effet un bouton dans le formulaire de recherche qui coche la ligne trouvée suite a une recherche pour que la ligne de la BDD soit cochée ou anotée.

Si tu as la solution (et j'ai l'impression que tu n'en est pas loin) tu seras mon sauveur :)

Guillaume
 

guillaume0212

XLDnaute Nouveau
Si tu as encore un peu de temps pour moi Chris, est ce que tu arriverais à me donner les explications de a macro histoire que je comprenne un peu le fonctionnement?
Sub, private sub, ordre d ecriture et tout :)

Sinon pas grave mais c'est pour me coucher moins bête^^

Merci beaucoup encore.

Guillaume
 

guillaume0212

XLDnaute Nouveau
Re,
dernière question sur ce fichier du coup:

Actuellement il faut taper le nom exact sans faute pour trouver la correspondance. Je sais que pour rechercheV on peux choisir VRAI pour demander une valeur proche, mais actuellement ca renvoi des infos qui ne correspondent pas.

Comment corriger ce probleme, et que par exemple si dans la cellule NOM je tape "teteur" eu lieu de "testeur", ca me renvoi a la valeur la plus proche de la BDD qui serait "testeur"?

Merci encore par avance.

Guillaume
 

chris

XLDnaute Barbatruc
Bonjour

J'étais en ouacances...

Les valeurs proches ne fonctionnent pas trop pour du texte et suppose de plus un classement

Le plus simple serait d'extraire une liste triée via PowerQuery et d'alimenter une liste déroulante.

Je repasserai pour les explications du code
 

chris

XLDnaute Barbatruc
Bonjour
  • Private Sub Worksheet_Change surveille les changements de valeurs (saisie) dans la feuille FDR
    Si les changement ne concernent ni la cellule nommée ChoixNom, ni la cellule nommée ChoixNum, elle s'arrête
    Sinon elle interrompt temporairement la surveillance, efface parmi ces 2 cellules, celle qui n'est pas celle qui a déclenché la sub puis rétablit la surveillance.
    Le on error permet en cas d'erreur imprévue de ne pas laisser la surveillance en état off
  • CocherTrouve (liée au bouton) vérifie que l'une des 2 cellules nommée n'est pas vide, et si c'est le cas s'arrête.
    Sinon récupère le numéro, selon sa position par rapport à la cellule nommée non vide, et cherche ce numéro dans la colonne de BDD afin, s'il le trouve, de modifier la colonne située 4 colonnes à droite de la ligne trouvée.
 

Discussions similaires

Statistiques des forums

Discussions
312 210
Messages
2 086 279
Membres
103 170
dernier inscrit
HASSEN@45