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 :

recherche avec textbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 68
    Points
    68
    Par défaut recherche avec textbox
    bonjour,

    j'ai une boite de dialogue qui me permet d'intérroger ma base de donnée situé en feuil4 de mon programme.
    Un combobox1 permet d'orienté l'utilisateur vers 3 choix possible.
    un textbox1 permet de saisir la requête.

    si la colonne 5 de la feuil4 est identique à la requête "texbox1" alors textbox2 ="Existant" et copie dans listbox1 sans doublons les données trouvées colonne 5 feuil4.Sinon si la colonne 5 est diférente de la la reqûête textbox1 alors textbox2="non existant".

    le programme que j'ai réussi à faire me permet seulement d'interroger la base de donnée et d'afficher dans textbox2=le résultat de la requête.

    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
    Private Sub UserForm_Initialize()
        'Titre dans la liste déroulante
        With ComboBox1
            .AddItem "P.C.F"
            .AddItem "Shémas 9S"
            .AddItem "Actionneur"
        End With
    End Sub
     
    Private Sub Valider_Click()
        Dim Valx, i As Integer
        Valx = Me.ComboBox1.Value
     
          With Sheets("Feuil4")
           For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
           If .Cells(i, 5) = TextBox1 Then
           TextBox2 = "     EXISTANT   "
     
           End If
           Next i
      End With
    End Sub

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Qu'est-ce qui te manque ? La recherche ? La manière de masquer Textbox2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Textbox2.visible = false
    Précise ta demande.
    A+

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 68
    Points
    68
    Par défaut
    voici le code que j'ai tapé il me reste à remplir la listbox1 et aussi de marquer dans textbox2 si la valeur est différente de la colonne 5 écrire "non éxistant".

    voilà

    je joint une démo de ce que je veux faire , cela est plus explicite:

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par stéphanie123 Voir le message
    je joint une démo de ce que je veux faire , cela est plus explicite:
    Bin...je ne trouve pas ça très explicite.
    Si l'utilisateur choisis "P.C.F" on cherche toujours dans la colonne 5 ?
    Peu importe la colonne de recherche, on copie dans la ListBox les valeurs de la colonne 5 ?
    Dans ton fichier joint, il n'y a rien dans la colonne 5

    Donne un exemple concret d'une recherche et de ce qui doit apparaître dans la ListBox sinon on est reparti pour un échange interminable de questions/réponses

  5. #5
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 68
    Points
    68
    Par défaut texbox requête
    non le combobox sert seulement à s'orienté, il ne faut pas le prendre en compte.

    je vais allez étape par étape

    l'action que je veux faire au début

    ce serait si la colonne 2 est égale à la valeur dans le textbox1 alors écrire dans texbox2 "Existant".
    sinon si la colonne 2 n'est pas égal à la valeur dans texbox1 alors écrire dans texbox2 "NON éxistant".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Valx, i As Integer
        Valx = Me.ComboBox1.Value
     
          With Sheets("Feuil4")
           For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
           If .Cells(i, 2) = TextBox1 Then
           TextBox2 = "     EXISTANT   "
    else:Texbox2<>""NON éxistant"
     
           End If
           Next i
      End With
    En même temps que cette égalité est vérifié il faut copié et collé les valeurs qui sont éxistante dans texbox2 dans la listbox1

    j'espére que j'ai été plus claire,

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par stéphanie123 Voir le message
    En même temps que cette égalité est vérifié il faut copié et collé les valeurs qui sont éxistante dans texbox2 dans la listbox1
    les valeurs de quelle colonne ? pas de la même colonne je suppose ?

  7. #7
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 68
    Points
    68
    Par défaut
    non

    par exemple si on rentre une valeur qui se trouve dans la colonne shémas 9S dans le texbox1 alors l faire apparaitre dans le texbox2 existant ou sinon non existant et faire apparaitre dans la listbox les valeurs de la colonne PCF .Et vis versa si on fait le contraire. Cela explique aussi l'utilité du combobox, il permet d'orienté sur se que l'on décide de recherché et de faire apparaitre soit une valeur dans shémas 9s soit PCF.

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Cela devrait ressembler à ceci
    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
    39
    40
    41
    42
    43
    Private Sub Lancer_Click()
    Dim i As Integer, ColR As Byte, ColV As Byte
    Dim Colect As New Collection, Result As Boolean
    Result = False
     
    If Me.TextBox1.Value = "" Then
        MsgBox "Veuillez préciser la donnée à rechercher", vbExclamation
        Exit Sub
    End If
     
    If Me.ComboBox1.Value = "" Then
        MsgBox "Veuillez sélectionner le type de recherche", vbExclamation
        Exit Sub
    End If
     
    Select Case Me.ComboBox1.Value
        Case "P.C.F"
            ColR = 3
            ColV = 2
        Case "Schémas 9S"
            ColR = 2
            ColV = 3
    End Select
     
    With Sheets("Feuil4")
        For i = 2 To .Cells(Rows.Count, ColR).End(xlUp).Row
            If .Cells(i, ColR).Text = Me.TextBox1 Then
                Result = True
                Colect.Add .Cells(i, ColV).Text, CStr(.Cells(i, ColV))
            End If
        Next i
    End With
     
    If Result = True Then
        Me.TextBox2 = "EXISTANT"
        For i = 1 To Colect.Count
            Me.ListBox1.AddItem Colect.Item(i)
        Next
    Else
        Me.TextBox2 = "INEXISTANT"
    End If
     
    End Sub

  9. #9
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 68
    Points
    68
    Par défaut
    j'ai introduit ton code dans mon programme, mais quand je veux compilée j'ai une erreur dans cette partie là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For i = 2 To .Cells(Rows.Count, ColR).End(xlUp).Row
    j'ai beau vérifié tous le code mais je trouve pas ce qui bloque.

  10. #10
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 68
    Points
    68
    Par défaut texbox1 + requête
    c bon merci fring , j'ai trouvé le pti Pb.

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

Discussions similaires

  1. [Débutant] recherche avec gridview + textbox + button
    Par edmotets dans le forum ASP.NET
    Réponses: 1
    Dernier message: 03/04/2013, 08h57
  2. Textbox de recherche avec saisie semi-automatique.
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/11/2007, 20h55
  3. gridview avec textbox et bouton rechercher
    Par hermine dans le forum ASP.NET
    Réponses: 2
    Dernier message: 16/07/2007, 15h30
  4. recherche avec findnearest
    Par souad26 dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/11/2004, 20h58
  5. Enlever la surbrillance lors d'une recherche avec vi
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 04/03/2004, 13h55

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