Recherche désignation en fonction de la référence en VBA

Résolu
Wartin84 -  
 Wartin84 -
Bonjour,

Je cherche comment faire pour chercher la désignation de mon produit dans une autre feuille en VBA :

Feuille 1 :
Colonne A : Référence
Colonne B : Désignation

Feuille 2 :
Colonne A : Référence
Colonne B : "Comment faire pour insérer ma désignation?"

Merci bien =)

1 réponse

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour Wartin84

    Pourquoi en VBA alors qu'une formule de RECHERCHEV fait l'affaire ?

    Si tu maintiens en VBA il faut un exemple de ton fichier pour t'indiquer le bon code, faut-il boucler sur toute une liste en feuille 2 ou simplement pour une cellule ?
    Postes un exemple de ton fichier en expliquant ce que tu veux retrouver en feuille 2, sur cjoint.com, fais créer un lien, copies le et reviens le coller ici

    Cdlmnt
    Via
    0
    1. Wartin84
       
      Bonjour via55

      Merci pour ta réponse,

      Malheureusement oui je suis obligé de passer par du vba, je maitrise pourtant le recherchev :-/

      Je dois boucler sur toute une liste,

      http://www.cjoint.com/c/FCwryyPPTqO

      J'ai mis la partie de mon fichier comme tu me l'as demandé.

      Cordialement Wartin =)
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Wartin84
         
        Re,

        Alors colles cette macro dans un module de l'éditeur VBA puis tu la lances depuis ta 2eme feuille à partir de Developpeur - Macros ou si tu préfères tu mets un bouton su ta feuille et dans son code tu mets le nom de la macro

        Sub designation()
        Dim Ligne As Long
        'dernière ligne remplie de la feuille active (valeur en col A)
        Ligne = ActiveSheet.Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
        'boucle sur les lignes de la 2e à la derniere
        For n = 2 To Ligne
        'Applique RECHERCHEV de la valeur en A dans la table feuille1 et met le résultat en B
        ActiveSheet.Range("B" & n) = Application.WorksheetFunction.VLookup(ActiveSheet.Range("A" & n), Sheets("Mat°1°").Range("A:B"), 2, 0)
        Next
        End Sub


        Cdlmnt
        Via
        0
    2. Wartin84
       
      Exactement ça,

      Merci beaucoup =)
      0