XL 2016 problème de renvoi resultat formule recherchev en vba

dav30029

XLDnaute Nouveau
Bonjour,

je souhaiterais avoir en vba l'équivalent de la recherchev.
En effet, j'ai une feuille qui s'appelle recherche et le résultat qui doit m'être renvoyé dans la feuille "donnée" se trouve dans uniquement la colonne A de la feuille "recherche".
voici la formule :

=SI(ESTERREUR(RECHERCHEV(A11;recherche!$A:$A;1;0));"";RECHERCHEV(donnees!A11;recherche!$A:$A;1;0))& ";"

si demain, j'ai plus de lignes, ça ne fonctionne plus d'où l’intérêt de vba pour boucler.
Pas de soucis pour boucler les lignes.

exemple code pour ligne11 qui ne me prend pas en compte la plage fixe de la colonne A

ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-21],recherche!C[-28],1,0)),"""",VLOOKUP(RC[-21],recherche!C[-28],1,0))& "";"""
ActiveCell.Offset(0, 1).Select


ci-joint un exemple.

Je vous remercie pour votre aide
 

Pièces jointes

  • explication.xlsm
    52.4 KB · Affichages: 9
Solution
Bonjour,
VB:
Sub Set_Formule()
    lr = Cells(Rows.Count, "A").End(xlUp).Row
    If lr > 1 Then
        Range("H2:H" & lr).FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-7],recherche!C1,1,0)),"""",VLOOKUP(donnees!RC[-7],recherche!C1,1,0))& "";"""
    End If
End Sub

fanch55

XLDnaute Barbatruc
Bonjour,
VB:
Sub Set_Formule()
    lr = Cells(Rows.Count, "A").End(xlUp).Row
    If lr > 1 Then
        Range("H2:H" & lr).FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-7],recherche!C1,1,0)),"""",VLOOKUP(donnees!RC[-7],recherche!C1,1,0))& "";"""
    End If
End Sub
 

Discussions similaires

Réponses
6
Affichages
525

Statistiques des forums

Discussions
314 654
Messages
2 111 598
Membres
111 215
dernier inscrit
fateh