Recherche en Userform

Bonjour à tous,
Comme je disais dans mon précédant message je préfère utiliser les USF dans mes projets.
Je sais que dans un tableur il existe la "rechercheV" mais dans un USF je voudrai faire une recherche en entrant une référence d'un article pour avoir le libellé correspondant.
Quelqu'un pourrait-il m'aider à trouver la solution.
Merci d'avance
Amicalement
Noel

36 réponses

Résumé de la discussion

L’objectif est d’effectuer une recherche dans un USF pour convertir une référence d’article en son libellé, analogue à la fonction RECHERCHEV d’un tableur. Des réponses évoquent des solutions telles que Range.Find ou VLOOKUP via des macros, ainsi que des exemples de remplissage de combobox et d’usage de plages nommées. Plusieurs participants signalent une incompatibilité sur Mac et une erreur 380 liée à la propriété RowSource, et soulignent que des références numériques pures peuvent poser problème. En cas de besoin, des détails techniques et des exemples concrets, notamment autour de VLookup et Range.Find, complètent le débat avec des démonstrations et des méthodes alternatives pour lier références et libellés.

Bobot (l’IA à votre service)
  1. Bonjour,

    Tu peux utiliser la méthode WorksheetFunction.VLookup qui est l'équivalent de RECHERCHEV avec VBA.

    A+
    0
    1. Re,
      Bonjour Gyrus et f894009,
      Je suis désolé, je viens d'essayer les 2 formes les 2 me donnent :
      ERREUR EXECUTION: 380
      Impossible de définir la propriété RowSource.Valeur de propriété non valide.
      Je pense que c'est une incompatibilité avec MAC.
      Merci pour une autre solution
      @+
      Amicalement
      Noel
      0
      1. Bonjour à tous,
        Bonjour f894009,
        J'ai essayé le projet cela fonctionne , mais en l'adaptant au mien il me laisse le message du MsgBox
        Voici mon code vois si tout est parfait et signales moi d'une quelconque erreur:
        Private Sub ListeArt_Change() 'ListeArt étant mon combobox
        On Error Resume Next
        'adaptez le format de la reference
        x = WorksheetFunction.VLookup(CDbl(ListeArt), Worksheets("références").Range("A4:B" & derlig), 2) 'références c'est ma feuille
        If x <> "" Then
        IntArtStc = x 'IntArtStc c'est le libéllé de l'article
        Else
        IntArtStc = ""
        MsgBox ("Pas trouvé " & ListeArt & " dans la liste!!!!!!")
        End If
        End Sub
        Merci de ton aide
        @+
        Amicalement
        Noel
        0
        1. Bonjour,

          vos references sont numeriques ou alphanumeriques ???
          0
          1. Re,
            Elles sont alphanumériques
            La cellule de mon tableur est en standard.
            Merci
            @+
            Amicalement
            Noel
            0
            1. Re,

              remplacez:

              CDbl(ListeArt)

              par

              ListeArt

              A+
              0
              1. re,
                Après avoir supprimer cdbl devant ListeArt
                x = WorksheetFunction.VLookup ListeArt Worksheets("références").Range("A4:B" & derlig), 2)
                il me donne : erreur de compilation attendu : fin d'instruction
                Je pense qu'il me manque quelque chose.
                Si tu peux rectifie cette ligne de code pour moi STP
                Merci beaucoup
                @+
                Amicalement
                Noel
                0
                1. Bonjour
                  Donne ton model ca serat plus simple pour voir ton probleme
                  A+
                  Maurice
                  0
                  1. Re,

                    x = WorksheetFunction.VLookup ListeArt Worksheets("références").Range("A4:B" & derlig), 2) portnawak!!!

                    avant:
                    x = WorksheetFunction.VLookup(CDbl(ListeArt), Worksheets("références").Range("A4:B" & derlig), 2) 'références c'est ma feuille

                    apres:
                    x = WorksheetFunction.VLookup(ListeArt, Worksheets("références").Range("A4:B" & derlig), 2) 'références c'est ma feuille

                    A+
                    0
                    1. Bonjour à tous,
                      Bonjour f894009, et foo,
                      Même en changeant ce bout de code cela me donne toujours le même résultat.
                      Foo tu me demandes de joindre le projet mais il fait plus de 4M° qui plu est il n'y a que ce code de recherche qui ne fonctionne pas.
                      Merci beaucoup de votre compréhension et de votre aide
                      @+
                      Amicalement
                      Noel
                      0
                      1. Re,
                        Je crois avoir trouvé le pourquoi.
                        Je pense que dans ma colonne "Références, il faut obligatoirement que ça commence par une lettre non par un chiffre.
                        f894009 pourras-tu me dire pourquoi?
                        Merci de ton aide
                        @+
                        Amicalement
                        Noel
                        0
                        1. Bonjour,

                          il faut obligatoirement que ça commence par une lettre non par un chiffre. pas du tout, donnez un exemple de reference svp

                          A+
                          0
                          1. Re,
                            Comme je suis en plein programmation j'ai crée des références tel que 111111,22222,88888, etc.
                            Ces références ne sont pas visibles dans la liste.
                            @+
                            0
                            1. Re,
                              Actuellement j'ai un USF avec plusieurs textbox que je voudrai inclure dans le système de recherche.
                              Exp : Je désire que le textbox récupère les données sur la même ligne en colonne 8, ou 9 ou 10 etc.
                              Là aussi je ne sais pas comment faire.
                              Si on pouvait m'aider
                              Merci d'avance
                              Amicalement
                              Noel
                              0
                              1. Re,

                                Ces références ne sont pas visibles dans la liste. ?????
                                Comment remplissez vous votre combobox ????

                                Comme je suis en plein programmation j'ai crée des références tel que 111111,22222,88888, etc. Ce sont des references NUMERIQUES pas ALPHANUMERIQUES, donc il faut conserver:

                                x = WorksheetFunction.VLookup(CDbl(ListeArt), Worksheets("références").Range("A4:B" & derlig), 2) 'références c'est ma feuille

                                parce que la valeur recuperee d'une comboxbox est une chaine de caracteres, ex: "11111" pour votre, cas ce n'est pas un nombre.

                                Une question: vous avez adapte la plage de recherche ou pas ??????

                                A+
                                0
                                1. Bonjour à tous,
                                  Bonjour f894009,
                                  Les références que je t'ai donné sont des exemples mais je pense que ce type de numérique ne seront pas des références utilisées. Ceci a été réalisé pour un essai.
                                  Quant à l'adaptation de la plage de recherche, je pense que c'est fait avec Worksheets("références").Range("A4:K" & derlig), 2). Mais actuellement s'arrête à la colonne 2 mais je vais jusqu'à 11 colonnes pour les articles dont je veux pouvoir utiliser pour la gestions de stock.
                                  @+
                                  Amicalement
                                  Noel
                                  0
                                  1. Bonjour,

                                    Vos references sont dans plusieurs colonnes ?????

                                    A+
                                    0
                                    1. Re,
                                      Non dans la première colonne de la feuille Références
                                      @+
                                      Amicalement
                                      Noel
                                      0
                                      • 1
                                      • 2