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 :

Recherches dans un tableau avec critères alphabétiques


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Finance
    Inscrit en
    Mai 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Finance
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 19
    Par défaut Recherches dans un tableau avec critères alphabétiques
    Bonjour à toutes et tous !

    Je ne suis pas un expert en VBA...

    J'ai un petit souci avec une recherche dans un tableau via un userform...

    Ce tableau comporte 6 colonnes. La recherche peut se faire sur un ou deux critères alphabétiques qui sont des données présentes dans la première et la deuxième colonne. Sur l'userform un listbox est censé restituer toutes les occurences trouvées...

    J'ai trouvé un exemple sur internet pour déclencher la recherche sur mon tableau. Sauf que... Sauf que ça ne fonctionne pas avec mon propre tableau. J'ai compris que cela venait du fait que les données à rechercher sont du texte. c'est à dire que si je remplace ces données-là par des chiffres la macro fonctionne.

    Ma question est donc : où dans le code indiquer que ce qui est à rechercher est du texte et non du numérique ?

    Je joins mon fichier. Celui-ci comporte deux onglets, à savoir :

    - le premier onglet, le tableau avec des données alphabétiques dans les colonnes 1 et 2. La macro ne fonctionne pas...
    - le second onglet, le tableau avec des données numériques dans les colonnes 1 et 2. La macro fonctionne...

    Qui peut me venir en aide ?

    Merci d'avance aux bonnes âmes...

    DiCTest.xls

  2. #2
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour,
    En remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Cells(i, 1) Like "*" & Me.TextBox1 & "*" _
         And Cells(i, 6) Like TextBox2 Then
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Cells(i, 1) Like "*" & Me.TextBox1 & "*" _
         And InStr(Cells(i, 6), Me.TextBox2) Then
    cela semble fonctionner.

    En effet la fonction Like va rechercher une partie d'une chaîne de caractère or TextBox2 n'est pas une chaine de caractère mais une variable.
    Si dans ta cellule A1 il y a la valeur "ABRACADABRA" la ligne suivante sera vrai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A1") Like "*BRACA*Then
    Par contre si tu as en A1 une variable nommée "Tartempion" et que tu donnes à "Tartempion" la valeur "ABRACADABRA" alors la ligne suivante ne sera pas vérifiée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A1") Like "Tartenpion"Then
    ( Le forum dites-moi si je me trompe)
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Membre averti
    Homme Profil pro
    Finance
    Inscrit en
    Mai 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Finance
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 19
    Par défaut
    Merci Eric pour ta réponse rapide !

    J'ai modifié la ligne de code mais... ça ne fonctionne pas davantage. Je dirais même plus... la recherche ne s'effectue plus aussi sur l'onglet 2 !
    Et j'ai beau prendre le truc par tous les bouts... je pige pas !


  4. #4
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour,
    Le code modifié fonctionne chez moi, pour mon test je n'ai rien entré dans le premier TextBox et j'ai entré "Conf" dans la deuxième TextBox.
    Voici le résultat que j'ai obtenu
    Nom : UserForm.jpg
Affichages : 108
Taille : 32,4 Ko
    Voici le fichier modifié
    DiCTest1.xls
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  5. #5
    Membre averti
    Homme Profil pro
    Finance
    Inscrit en
    Mai 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Finance
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 19
    Par défaut
    Ah ben mince alors... quel que soit le textbox choisi, ça ne fonctionne pas chez moi ! Enfin... au bureau. En rentrant chez moi (vraiment chez moi) ce soir, je testerai...

    En attendant, merci !

    Ben non... que ce soit au bureau ou bien chez moi - là je viens de tester - le code ne fonctionne toujours pas !
    Dans ce que tu me retournes, ce qui m'étonne, c'est que tu as entré "conf" dans le second textbox. Or cette occurrence ne se trouve pas dans la colonne 2 qui correspond au nom du fournisseur... Peut-être me suis trompé ailleurs dans le code ?

    Pfff...

    Rien à faire... Même chez moi la macro ne fonctionne pas comme souhaité. Peut-être me suis-je trompé ailleurs dans le code mais je ne parviens pas à savoir à quel endroit.
    Ce qui est curieux c'est que cela fonctionne chez toi et pas chez moi...

    Pfff...

  6. #6
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour

    Pour que la comparaison avec LIKE ne prenne pas en compte la casse ( les majuscules ), tu dois mettre cette commande dans le haut du module.

    Si tu cherches dans la colonne B, remplace Cells(i, 6) par Cells(i, 2) ou par Cells(i, "B")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 2 To [A65000].End(xlUp).Row
       'If Cells(i, 1) Like "*" & Me.TextBox1 & "*" _
       '  And Cells(i, 6) Like TextBox2 Then
         If Cells(i, 1) Like "*" & Me.TextBox1 & "*" _
         And Cells(i, 2) Like TextBox2 Then

Discussions similaires

  1. Recherche d'une valeur dans un tableau avec un grep
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2008, 10h50
  2. Recherche dans un recordset avec 2 critères
    Par Frog74 dans le forum VBA Access
    Réponses: 10
    Dernier message: 14/05/2008, 21h34
  3. [MySQL] Faire une recherche dans un tableau créer par mysql_fetch_array avec in_array
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 12/11/2007, 15h13
  4. [Tableaux] Comparaison avec recherche dans un tableau
    Par Hotfirenet dans le forum Langage
    Réponses: 4
    Dernier message: 26/08/2007, 22h24
  5. Réponses: 6
    Dernier message: 02/04/2007, 14h20

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