Fonction recherchev sur VBA

Fermé
macro2012 - 15 févr. 2012 à 18:10
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 15 févr. 2012 à 18:37
Bonjour,

J'aimerais donner à une cellule C(11,4) ou range ("D11") a une valeur qui est indexer dans une autre feuille qui est nommé par un numéro. Mais la macro plante et ca dit erreur de syntaxe, quelqu'un pourriat il m'aider? Merci voici la formule

Workbooks("Génie déplacements2.xls").Worksheets("AM").Select

Cells(11, 4).Selet
ActiveCell.FormulaR1C1 = "=Recherchev(cells(3,1);("=INDIRECT(""'""&C11&""'!a1:Q51"")");cells(2,5);faux)"

la valeur C11 dans la fonction indirect renvoie a une cellule qui a le même nom que la feuille où on va faire le recherchev. La valeur trouvée avec la fonction recherchev est donnée à la cellule cells(11,4).

Merci

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
15 févr. 2012 à 18:37
Bonjour

Excusez l'incruste

Tu travailles en VBA, utilise VBA .... ou "il n'y a pas que rechercheV dans la vie" :o)
par exemple:

With Workbooks("Génie déplacements2.xls").Worksheets("AM")
     onglet = .Range("C11")
     col = .Cells(2, 5)
     appel = .Cells(3, 1)
     With Sheets(onglet)
          lig = .Columns("A").Find(appel, , , , , , xlPrevious).Row
          resultat = .Cells(lig, col)
     End With
     .Cells(11, 4) = resultat
End With

et évite au maximum les select-selection
1
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
15 févr. 2012 à 18:14
Bonjour,

VBA étant un langage de programmation anglophone, il ne reconnaît pas directement le RechercheV comme tu as fait pour le moment.

Donc soit tu passes en anglais, et tu utilises VlookUp, soit tu restes en français mais il te faudra écrire ActiveCell.FormulaLocal.

Cordialement.
0