Fonction recherchev sur VBA
macro2012
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
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
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
-
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
-
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.