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 un mot


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 54
    Par défaut rechercher un mot
    bonjour,

    j'ai créé un tableau (2 colonnes: colA:codes/chiffres et colB:intitulés/lettres; et x lignes) de données. J'ai créé un textbox et un bouton "rechercher". je saisit une valeur dans le textbox (chiffres ou lettres) et en cliquant sur "rechercher" je souhaite faire apparaître toutes les lignes (code+intitulé)

    Avez vous une idée de code? (j'espère avoir été clair)

    merci

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Bonjour,

    tu peux simplement utiliser le filtre automatique avec sélection.

    Génére toi un exemple via l'enregisteur de macro.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 54
    Par défaut
    Au départ j'ai généré une macro avec le "ctrl F" mais il faut que je fasse "suivant" à chaque fois qu'un mot est trouvé.
    ce que je veux : par exemple si je saisit le mot : "production" je veux qu'apparaissent toutes les lignes où le mot "production" apparait.
    Et une fois le résultat obtenu, je veux réinitialiser le tableau.

    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Voici le code que j'utilise
    A toi de l'adapter.

    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
    Private Sub CmbRecherche_Click()
    Dim Cell As Range
    Dim Tab1(0 To 50, 0 To 5) As String
    Dim I As Byte
    Dim L As Byte
        If CmbLigne.Value = "" And CmbNat.Value = "" Then
        MsgBox "Veuillez choisir une ligne de crédit ou la nature", vbInformation + vbOKOnly, "Avertissement..."
        LstResult.Clear
        Exit Sub
    End If
        If CmbLigne.Value <> "" Then
        L = Len(CmbLigne)
            For Each Cell In Sheets("Crédit").Range("IntituCred")
                If UCase(Left(Cell.Text, L)) = UCase(CmbLigne.Text) Then
                Tab1(I, 0) = Cell.Text
                Tab1(I, 1) = Cell.Offset(0, 1).Text
                Tab1(I, 2) = Cell.Offset(0, 2).Text
                Tab1(I, 3) = Cell.Offset(0, 3).Text
                Tab1(I, 4) = Cell.Offset(0, 4).Text
            I = I + 1
        End If
            LstResult.ColumnCount = 5
            LstResult.ColumnWidths = "2cm" & ";" & "7cm" & ";" & "3cm" & ";" & "3cm" & ";" & "3cm"
            LstResult.List = Tab1()
        Next
            ElseIf CmbNat.Value <> "" Then
        L = Len(CmbNat)
            For Each Cell In Sheets("Crédit").Range("IntituNat")
                If UCase(Left(Cell.Text, L)) = UCase(CmbNat.Text) Then
                Tab1(I, 0) = Cell.Offset(0, -2).Text
                Tab1(I, 1) = Cell.Offset(0, -1).Text
                Tab1(I, 2) = Cell.Text
                Tab1(I, 3) = Cell.Offset(0, 1).Text
                Tab1(I, 4) = Cell.Offset(0, 2).Text
            I = I + 1
        End If
    Next
        LstResult.ColumnCount = 5
        LstResult.ColumnWidths = "2cm" & ";" & "7cm" & ";" & "3cm" & ";" & "3cm" & ";" & "3cm"
        LstResult.List = Tab1()
    End If
    End Sub

  5. #5
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Citation Envoyé par Benwad Voir le message
    ce que je veux : par exemple si je saisit le mot : "production" je veux qu'apparaissent toutes les lignes où le mot "production" apparait.
    Et une fois le résultat obtenu, je veux réinitialiser le tableau.

    Merci
    Tout cela est possible via le filtre automatique que tu peux désactiver par après pour réafficher toutes les lignes.

    Pour mettre le filtre auto sur la colonne 1 avec le critère = selection sur la feuille "External", le code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            Sheets("External").AutoFilter Field:=1, Criteria1:=selection

    Pour enlever le Filtre Automatique sur la feuille "External", le code est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        If Sheets("External").AutoFilterMode Then
           Sheets("External").Cells.AutoFilter
        End If
    Tu peux aussi travailler avec le filtre élaboré qui a l'avantage de pouvoir exporter les résultats vers une autre feuille.

    Pour cela, regarde ici

    Cordialement.
    G@dz

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2008
    Messages : 54
    Par défaut
    merci à vous, je vais essayer les 2 propositions.

    Sinon Nec14, pourrais tu m'apporter quelques précisions sur ton code?

    Merci

    je vous mets en pièce jointe un petit exemple de mon fichier excel

    Bien à Vous
    Fichiers attachés Fichiers attachés

  7. #7
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par Benwad Voir le message
    merci à vous, je vais essayer les 2 propositions.

    Sinon Nec14, pourrais tu m'apporter quelques précisions sur ton code?

    Merci
    Bonjour,

    Je vais te décrire ce code et de le mettre dans un fichier joint.
    A toute

Discussions similaires

  1. Recherche sur mots de 3 lettres
    Par mamizo dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/02/2005, 14h59
  2. [TP]Recherche de mots dans un Doc.
    Par Loceka dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 04/10/2004, 19h04
  3. Recherche des mots contenant ...
    Par Asdorve dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/06/2004, 10h23
  4. Réponses: 10
    Dernier message: 22/05/2004, 13h51
  5. Recherche multi-mots sur une seule colonne
    Par Badiste dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/03/2004, 11h24

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