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 :

rechercher dans userform [XL-2003]


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
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Par défaut rechercher dans userform
    Bonjour à toutes et à tous,

    Voici mon problème :

    J'ai créé un userform multipages. Je peux ajouter, modifier et supprimer des enregistrements. J'ai cherché sur différents forums le moyen d'effectuer une recherche dans un userform et j'ai beaucoup de mal à l'adapter à mon cas. Voici le code :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Private Sub BtnRechercher_Click()
     
     
    ' Si rien dans le champ de saisie, alors message d'erreur
     
     
    If frmAccueillis.txtrecherche.Text = "" Then
    GoTo erreur
    End If
     
    ' Recherche de la donnée puis selection de la ligne si donnée trouvée
     
    Dim x As Long
    Sheets("liste").Activate
    ' On recherche dans la Ligne 1 colonne E, si la case contient la même valeur que notre champ de recherche
    For x = 1 To Range("E65535").End(xlUp).Row
    If UCase(Range("E" & x)) Like "*" & UCase(frmAccueillis.txtrecherche.Value) & "*" Then
    ' Si on a trouvé on va à "Trouve"
    GoTo trouve
    Exit For
    End If
    ' Sinon on passe à la ligne suivante
    Next x
    ' Si on ne trouve rien, on va à "Erreur"
    GoTo erreur
    Exit Sub
     
    ' Recherche trouvée, ici comment afficher les données de la personne cherchée ? :cry:
     
    trouve:
     
    Call p_Debloque
    Exit Sub
    'Message d'erreur
    erreur: MsgBox ("Ce nom n'existe pas !")
    Sheets("Liste").Activate
     
    End Sub
    C'est pour trouver : je ne vois pas comment afficher les données dans le userform à partir d'un nom entré dans un textbox. Peut-être pourrez-vous m'aider. Un grand merci

    Momo

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour,
    essaies comme ceci, quand la valeur est trouvée, indiquer que faire
    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
    18
    19
    20
    21
    Private Sub BtnRechercher_Click()
    Dim c As Range
    Dim LastLig As Long
     
    If Me.txtrecherche.Value <> "" Then
        With Sheets("liste")
            LastLig = .Cells(Rows.Count, "E").End(xlUp).Row
            Set c = .Range("E1:E" & LastLig).Find(Me.txtrecherche.Value, LookIn:=xlValues, lookat:=xlPart)
            If Not c Is Nothing Then
                MsgBox Me.txtrecherche.Value & " trouvé"
                Set c = Nothing
                'suite du code
            Else
                MsgBox Me.txtrecherche.Value & " non trouvé"
            End If
        End With
        Unload Me
    Else
        MsgBox "renseignez le texte à chercher"
    End If
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Par défaut recherche dans userform
    merci beaucoup pour la réponse.

    cela fonctionne mais ce que je souhaiterais c'est qu'une fois le nom renseigné, toutes les infos concernant la personne s'afficher dans le userform est-ce possible.

    Merci

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Du moment que tu as trouvé l'information, tu peux faire ce que tu veux, exemple
    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
    18
    19
    20
    21
    Private Sub BtnRechercher_Click()
    Dim c As Range
    Dim LastLig As Long, Lig as Long
     
    If Me.txtrecherche.Value <> "" Then
        With Sheets("liste")
            LastLig = .Cells(Rows.Count, "E").End(xlUp).Row
            Set c = .Range("E1:E" & LastLig).Find(Me.txtrecherche.Value, LookIn:=xlValues, lookat:=xlPart)
            If Not c Is Nothing Then
                Lig=c.row   'dans Lig on a la ligne de la donnée trouvée
                Me.textbox1=.range("A" & Lig)
                Me.textbox2=.range("B" & Lig)
                Set c = Nothing
            Else
                MsgBox Me.txtrecherche.Value & " non trouvé"
            End If
        End With
    Else
        MsgBox "renseignez le texte à chercher"
    End If
    End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 97
    Par défaut recherche dans userform
    Encore merci

    lorsque je clic sur le bouton rechercher j'ai un bug à ce niveau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lig=.c.row   'dans Lig on a la ligne de la donnée trouvée
    où est mon erreur que dois-je modifier ?

    merci beaucoup

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    pardon
    et enlève la lignej'ai re édité le code précedent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/01/2011, 22h09
  2. Recherche et modification dans Userform
    Par momoju dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/09/2010, 15h43
  3. Bouton recherche dans un UserForm
    Par aptagud dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/01/2010, 11h28
  4. [XL-2003] Macro de recherche dans un userform avec bouton et textbox
    Par guilo49 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/11/2009, 14h38
  5. Réponses: 7
    Dernier message: 18/11/2007, 11h38

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