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 :

Amélioration : Recherche de valeur dans une table [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Points : 32
    Points
    32
    Par défaut Amélioration : Recherche de valeur dans une table
    Bonjour,

    Voila, j'ai crée un tableau Excel qui permet de rechercher dans une table de donnée, les informations que l'on souhaite extraire. Pour cela, j'utilise la formule RECHERCHEV.
    L'inconvénient, c'est que je dois saisir exactement le nom correspondant pour retrouver ce que je cherche. Ce que j'aimerais faire dans l'idéal serait quelque chose de plus intuitif. On commence à saisir quelque chose et il te propose la suite, ou alors si on se trompe sur un ou plusieurs caractères, que cela trouve quand même.
    Je pense que cela serait plus simple sur Access (Du moins tout le monde me dit ça), mais je ne l'ai pas à ma disposition.
    Je voulais savoir si quelqu'un aurait une idée de la façon de faire sur Excel pour obtenir un tel résultat. J'ai pensé à utiliser des filtres, enfin, je ne connais pas très bien la puissance des macros. Donc si vous avez des idées, je suis preneur

    Merci

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Ta formulation du problème n'est pas très clair, comment s'effectue la recherche ? via VBA ? si oui, montre le code qui fait ça.
    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Non, la recherche se fait grâce à la fonction recherchev de Excel. Mais elle est limité... Alors je voulais savoir si il y avait des équivalent, plus puissant en VBA. Voila le lien avec mon fichier. Pour le moment, je fais tout mes test dans la feuille "Recycled Content".... J'espère que cela te parlera plus !

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Re,
    je ne chargerai ton "lien" que si nécessaire, pour répondre à ta question, il n'y a aucune fonction excel qui puisse resoudre des problèmes spécifique alors que le VBA peu y arriver.
    Montre ta formule "RechercehV" pour voir si ont peu l'améliorer en VBA.
    A+

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    Voila ma fonction RechercheV :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI(ESTNA(RECHERCHEV($F11;'RC Data'!$B$2:$F$330;3;FAUX));"";RECHERCHEV($F11;'RC Data'!$B$2:$F$330;3;FAUX))

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bon, comprend toujour pas.
    Si pas d'ereur
    Sélectionne la plage 'RC Data'!$B$2:$F$330; recherche dans colonne 3
    si erreur.. Beh tu fait la même chose. ??
    J'ai un moment d'incompréhension là..

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    Non, si le résultat de ta recherche est N/A alors tu affiche "" (rien), sinon, tu recherche... Je trouvais que ça faisait plus jolie d'avoir rien plutôt que des N/A! partout...

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Autant pour moi, tu a raison.
    mais
    Ce que j'aimerais faire dans l'idéal serait quelque chose de plus intuitif.
    Tu ne peu faire cela qu'avec du VBA et un Userform. mettre les données a rechercher dans un combo, celui-ci faisant la sélection en fonction des entrées dans le combo.
    C'est quelque chose comme ça que tu cherche ?
    A+

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    oui effectivement, je n'y avais pas pensé. Je ne suis pas familier des UsF. Moi je voyais quelque chose avec des boucles, cherchant des similitudes... Ta technique à l'air plus simple que la mienne...

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 42
    Points : 32
    Points
    32
    Par défaut
    Alors que la solution d'un UserForm s'est avéré la meilleure, je place le code que j'ai obtenu grace à de nombreux developpiens... En espèrant que cela aidera un jour un stagiaire au bord du gouffre ou quelqu'un ayant les mêmes problèmes, je ne suis pas sectaire ! !

    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
    Private Sub Send_Click()
    'Déclaration ===============================
    Dim MaterialName As String
    Dim Manufacturer As String
    Dim j As String
    Dim DerniereLigne As String
    'MEI =======================================
    Set F = Sheets("RC Data")
    MaterialName = Me.MaterialNameA
    'recherche =================================
    Set Cel = F.Columns(2).Find(MaterialName, LookIn:=xlValues)
    'trouver la cellule de la colonne B qui contient MaterialNameA
     
     
        If Send.Enabled = True Then
            If Cel Is Nothing Then
                Manufacturer = ManufacturerName.Text
                DerniereLigne = Sheets("RC Data").Range("C1").End(xlDown).Row
                j = DerniereLigne + 1
                Manufacturer.Copy Destination:=ActiveWorkbook.Sheets("RC Data").Cells(j, 3)
     
             End If
        End If
     
    j = j + 1
     
    End Sub

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

Discussions similaires

  1. [AC-2000] Optimisation de VBA pour la recherche de valeurs dans une table
    Par Tydher dans le forum VBA Access
    Réponses: 5
    Dernier message: 13/07/2011, 09h17
  2. Recherche d'une valeur dans une table
    Par alainbd dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 29/10/2009, 09h09
  3. Réponses: 3
    Dernier message: 21/10/2009, 16h07
  4. [AC-2003] Recherche deux valeurs dans une table
    Par drakkar_agfa dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/09/2009, 16h03
  5. [VB6]recherche d'une valeur dans une table access
    Par fahmichebaane dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/04/2006, 15h26

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