IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Fonction rechercher et afficher le résultat dans l'UF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 84
    Par défaut [VBA-E] Fonction rechercher et afficher le résultat dans l'UF
    Bonjour,

    Ma mission touche à sa fin, je voulais remercier tous ceux qui m'ont consacré un peu de leur temps, m'ont aidé et m'ont permi de me perfectionner dans le VBA :
    Blunet, Commodore_Psykopate, Ania, illight, ouskel'n'or, Elstak, bbil, SilkyRoad, Theocourant, Phenx, zazaraignée, AlainTech. Merci !

    Voici la dernière étape :
    J'ai un Userform qui gère une base de donnée importante de références(nouvelle référence, modifier référence et suopprimer référence).
    Pour faciliter la modification des références, je souhaiterai inclure dans mon UF une textbox "recherche" dans laquelle on entrerait le numéro de référence, puis en cliquant sur ok, cela afficherai directement dans l'UF les informations de la référence en question. J'ai essayé mais je ne trouve pas le type de macro à utiliser.

    D'avance merci

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Ah bon je t'ai aidé ? me souviens plus



    Il faudrait, je pense, quand tu clique sur OK, qu'un filtre puisse se mettre en place sur la référence qui t'intéresse
    Pour la macro par contre, vu que je n'ai pas de fichier sous les yeux..quoique atta..
    En faisant l'enregistreur de macro j'obtiens ça (en prenant comme référence une référence bidon hein) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Selection.AutoFilter
        Selection.AutoFilter Field:=1, Criteria1:=TextBox1.value
    Selection étant par exemple la première cellule ou tu as les titres de tes colonnes

    Par contre j'ai un doute subitemment su rl'écriture d'une valeur de la textbox mais ça doit y ressembler grandement
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 84
    Par défaut
    Merci pour ta réponse, je ne cherche pas à mettre des filtres sur le tableau, juste voir les infos de la référence dans l'Userform

    Voici à quoi il ressemble :



    Je souhaite aussi faire un message d'erreur si la référence entrée est vide ou inexistante

    Voici le code que j'ai commencé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    'Recherche rapide d'une référence pour la modifier
    Private Sub bnOkRecherche_Click()
    Dim NomRéférence2 As String
    Dim AfficherRéférence As Variant
     
    NomRéférence2 = txRecherche.Value
     
    AfficherRéférence = True
     
    If AfficherRéférence Then
      Sheets.Add after:=Sheets(Worksheets.Count)
      Sheets(Worksheets.Count).Name = txRecherche.Value
      Else
      MsgBox ("La référence " & txNuméro.Value & " est inexistante ou vide")
    End If
     
    End Sub
    Où ais-je faux et que me manque-t-il selon vous ?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Je sais que ce n'est pas vraiment une réponse à la question mais je voulais exprimer mon impression par rapport à la "lourdeur" d'une telle fiche.

    Pour ma part, pour un UF "fiche", afin d'éviter 36 boutons, je travaille toujours de la manière suivante.

    Au départ, je n'ai que le TextBox "référence" qui est actif.

    Si l'utilisateur tape une référence existante, je l'affiche.
    S'il tape une nouvelle référence, je propose de créer la fiche et, si oui, j'affiche le UF "création".

    Edit --> De plus, quand une fiche est affichée, je n'ai que les boutons utilisables qui sont visibles.

    Tout ceci pour aider au maximum l'utilisateur à ne pas se perdre dans une feuille trop encombrée.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 84
    Par défaut
    C'est une très bonne idée et une bonne conception, mais pour cela il faut les compétences ! Ce que je n'ai pas...

    De plus, l'outil que je développe sera à la disposition de personnes qui n'y connaissent rien et font déjà peu confiance aux macro donc j'essaye de faire quelquechose de "simple" afin qu'ils comprennent et aient confiance en mon outil pour l'utiliser

    Cela dit, à te lire tu as réponse à ma question car tu as dit "Si l'utilisateur tape une référence existante, je l'affiche"

    Comment fais-tu ?

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Ben, je dirais, de la même manière que tu affiches tes champs quand tu cliques sur "Référence suivante" ou "précédente".

    Je suis désolé, n'étant pas dans ton code et ne sachant comment tu gères ton accès à la BD, je n'ai pas de réponse toute faite.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/12/2014, 13h09
  2. fonction recherche qui affiche rien
    Par molo1987 dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2011, 19h41
  3. Réponses: 2
    Dernier message: 29/07/2008, 15h04
  4. Afficher le résultat dans la même page
    Par benbax dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2007, 16h00
  5. Réponses: 5
    Dernier message: 15/03/2007, 06h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo