Macro formule Vlookup avec variable

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

titiborregan5

XLDnaute Accro
Bonjour à tous,

une 2ème question pour aujourd'hui...

celle-ci se pose sur la réalisation d'une formule par macro.
Il s'agit de réaliser un vlookup mais avec une plage variable.

En gros je lui dis
VB:
For i = i To 5
azerty2 = "activités" & i

Range("B17:B26").Formula = "=IF(ISNA(VLOOKUP(RC[-1],azerty2,2,FALSE)),"""",VLOOKUP(RC[-1],azerty2,2,FALSE))"

Next

sauf que lui il écrit dans mon classeur dans la formule réellement azerty2.
Comment lui faire écrire activités3 par exemple...mais après ce sera 4, puis 5...

Le code n'est pas "réel" dans le sens où là on écrit au même endroit dans la boucle.
En fait il s'agit de feuilles différentes où inscrire cette formule. Sur chaque feuille se trouve la liste que je renomme "activités"&nom de la feuille. Qu'il faut donc rentrer dans la formule en dur alors qu'elle sera variable...
J'espère ne pas trop m'être embrouillé dans l'explication...

je peux mettre un fichier exemple au besoin, même si là je pense qu'il s'agit d'une erreur "théorique" qui peut peut-être se corriger avec les "" et '...

Merci d'avance,

Tibo
 
Re : Macro formule Vlookup avec variable

Bonjour titiborregan5,

Venant de toi qui connais VBA cette question m'étonne 😕

Code:
[A1].Formula = "=xxxx" & mavariable & "yyyy"
A+

re bonjour job,

j'avoue ne pas comprendre la formule...

pour rendre mon azerty2 variable je fais comment selon ta formule?
en fait ma variable correspond à une plage de données dans un vlookup...


J'ai l'impression de poser que des questions débiles aujourd'hui :d

Merci d'avance
 
Re : Macro formule Vlookup avec variable

Re,

Par exemple, en supposant que les feuilles sont nommées "1" "2" "3" "4" "5" :

Code:
On Error Resume Next 'si une feuille n'existe pas
For i = i To 5
azerty2 = "activités" & i
Sheets(CStr(i)).Range("B17:B26").Formula = "=IF(ISNA(VLOOKUP(RC[-1]," & azerty2 & ",2,FALSE)),"""",VLOOKUP(RC[-1]," & azerty2 & ",2,FALSE))"
Next
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
2
Affichages
942
Réponses
9
Affichages
724
Retour