VBA pour rechercheV sur plusieurs ligne

Bonjour,

Voilà avec du VBA, je crée un tableau qui est variable d'un jour à l'autre. (Une cinquantaine de ligne)

Dans la colonne B (de l'onglet résultat) je récupère un libellé (Tata) (en B1), en B2 j'aurais toto et ainsi de suite jusqu'à B50 (Variable)

Dans mon classeur, j'ai un autre tableau (onglet différent) ou le libellé Tata et Toto (Colonne B par ex) se trouve avec sa référence en colonne C.

Je souhaiterais enchaîner les recherchev dans la colonne C de l'onglet "résultat", pour trouver la référence correspondant à Tata et Toto.

Merci de votre aide

Bonjour et bienvenue sur le forum

Tu devrais joindre un fichier exemple et montrer ce que tu as au départ et ce que tu veux obtenir comme résultat;

Bye !

Bonjour,

Je ne suis pas nouveau sur ce forum, mais j'ai perdu tout les accès... (Excellent forum au passage).

Voici le fichier avec un exemple de ce que je cherche à faire.

La colonne B de l'onglet "résultat" est variable, ainsi que le tableau dans l'onglet "Tableau"

Merci

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Hello,

Ça m'a l'air pas mal du tout !! Merci

Je vais essayer de l'intégrer à ma macro. Je te redirai.

Merci encore

Bye

Re,

Bon j'ai essayé de copier ta macro a la suite de la mienne, mais j'ai une erreur avec cette commande que je ne connais pas " Option Explicit "

... mon Code ....

Et j’enchaîne avec ta macro

Option Explicit

Dim fT As Worksheet, fR As Worksheet, plage As Range

Dim lnDt&, lnDr&, lnFt&, colDr&, colDt&, i&

Sub AjouterLaRef() (Il faut que je le commente car ce n'est pas une nouvelle macro)

Set fT = Sheets("TdP_instrum")

Set fR = Sheets("Import_SIMBA")

etc.......

Une idée ??

Merci

Re,

Bon j'ai essayé de copier ta macro a la suite de la mienne, mais j'ai une erreur avec cette commande que je ne connais pas " Option Explicit "

Option Explicit

Bonjour,

je me permets d'intervenir juste sur ta phrase

Option Explicit est une option qui oblige (et c'est mieux ainsi) de déclarer TOUTES les variables utilisées, ça se mets à la ligne 1 de ton code

P.

Oui oui c'est bien ce que j'avais lu, mais apparemment si mes macros déjà présente dans mon fichier ne sont pas codé avec cette option, il faut faire pas mal de modif....

J'ai donc commenté tout ca

' Option Explicit

' Dim fT As Worksheet, fR As Worksheet, plage As Range

' Dim lnDt&, lnDr&, lnFt&, colDr&, colDt&, i&

Et ca marche, mais je ne sais pas ce que je risque en faisant ca !

Merci

Petite question :

Je n'arrive pas a changé proprement le numéro de colonne de destination de la formule.

J'aimerais qu'elle se copie en colonne E et non C de l'onglet "Résultat"

Un peu de mal à comprendre la syntaxe de cette ligne

fR.Cells(i, colDr + 1).FormulaR1C1 = "=VLOOKUP(RC[-1]," & fT.Name & "!R[" & lnDt - lnDr & "]C[" & colDt - colDr - 1 & "]:R[" & lnFt - lnDr & "]C[" & colDt - colDr & "],2,0)"

Le code complet :

Set fT = Sheets("Tableau")

Set fR = Sheets("Résultat")

lnDr = 6 'Numéro de la première ligne de données de la feuille Résultat

colDr = 2 'Numéro de la première colonne de données de la feuille Résultatt

lnDt = 4 'Numéro de la première ligne de données de la feuille Tableau

colDt = 2 'Numéro de la première colonne de données de la feuille Tableau

lnFt = fT.Cells(Rows.Count, colDt).End(xlUp).Row 'Numéro de la dernière ligne des donnés de la feuille Tableau

For i = lnDr To fR.Cells(Rows.Count, colDr).End(xlUp).Row

fR.Cells(i, colDr + 1).FormulaR1C1 = "=VLOOKUP(RC[-1]," & fT.Name & "!R[" & lnDt - lnDr & "]C[" & colDt - colDr - 1 & "]:R[" & lnFt - lnDr & "]C[" & colDt - colDr & "],2,0)"

Next i

End Sub

Oui oui c'est bien ce que j'avais lu, mais apparemment si mes macros déjà présente dans mon fichier ne sont pas codé avec cette option, il faut faire pas mal de modif....

C'est pourtant comme cela qu'il faut faire ,(option explicit) on a moins d'erreurs des variables de cette manière

P.

Rechercher des sujets similaires à "vba recherchev ligne"