VBA- RechercheV dans une nouvelle ligne de tableau

Bonjour Bestforumever,

Je cherche mettre un formule rechercheV dans mon code VBA.

dim dlt2 as long 'dernier ligne du tableau 2 
 Sheets("Production").Range("c" & dlt2).Formula = "=SIERREUR(RECHERCHEV($B11;$M:$S;2;0);"")"

Jusque là ça va. Mais ceci va toujours chercher la valeur en B11

Or mon VBA crée une nouvelle ligne à la fin de mon tableau (mode tableau).

Donc je cherche à remplacé B11 du RechercheV, par un truc du style ("B" & dlt2) pour Vba

Vous allez me dire, met la formule directement dans une cellule du tableau et automatiquement a chaque nouvelle ligne la RechercheV sera adapté. C'est ce que je fessai avant mais maintenant ça ne marche plus car après je veux mettre les formules en texte pour ne pas perde l'info si je change la page de recherche ( Car c'est un planning qui change tout les jours)

Sheets("production").Range("B" & dlt & ":J" & dlt).Copy

           Sheets("production").Range("B" & dlt & ":J" & dlt).PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
    , SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Merci du coups de main !

Et bonne weekend d'avance !

Bonjour, çà va être dur d'utiliser les doubles guillemets dans du vba car excel interptrete information début texte et fin texte .

Par ailleurs comme tu ne "tires" pas les formules en vba alors les " $ " ne sont pas utiles.

Essaie déjà comme ceci :

Sheets("Production").Range("c" & dlt2).FormulaLocal = "=RECHERCHEV(B" & dlt2 & ";M1:S9999;2;Faux)"
'

Autre question si tu décales ta recherche de 2 pourquoi tu prends une plage de recherche de M à S ? le résultat cherché sera en N non ?

Bonjour, merci de ton retour !

Effectivement je pense que tu tiens la bonne solution mais j'ai encore un petit soucis.

Ton exemple fonctionne bien.

    Sheets("Production").Range("c" & dlt2).FormulaLocal = "=RECHERCHEV(B" & dlt2 & ";M:S;2;0)"
    Sheets("Production").Range("h" & dlt2).FormulaLocal = "=RECHERCHEV(B" & dlt2 & ";$M:$S;3;0)"
    Sheets("Production").Range("i" & dlt2).FormulaLocal = "=RECHERCHEV(B" & dlt2 & ";$M:$S;4;0)"

Cependant je n'arrive pas a l'adapter pour ces 2 lignes.

Sheets("Production").Range("f" & dlt2).FormulaLocal = "=RECHERCHV(B" & dlt2 & ";M:S;5;0)&SI(RECHERCHEV(B" & dlt2 & ";M:S;6;0)<>0;" & ";"")&RECHERCHEV(B" & dlt2 & ";M:S;6;0)"
                    Sheets("Production").Range("g" & dlt2).FormulaLocal = "=INDEX(L4:L228;EQUIV(B" & dlt2 & ";M4:M228;0))"

Merci d'avance :)

Je comprends pas bien ta formule là

Sheets("Production").Range("f" & dlt2).FormulaLocal = "=RECHERCHV(B" & dlt2 & ";M:S;5;0)&SI(RECHERCHEV(B" & dlt2 & ";M:S;6;0)<>0;" & ";"")&RECHERCHEV(B" & dlt2 & ";M:S;6;0)"

Tu fais un rechercheV ensuite un "SI" ??? en plus pas d'espace avant le &

Traduction svp si il y a condition alors la formule de départ commence pas "SI"

Rechercher des sujets similaires à "vba recherchev nouvelle ligne tableau"