Vlookup avec nom de plage récupéré d'un String
Résolu/Fermé
yaciin
Messages postés
23
Date d'inscription
mercredi 15 janvier 2014
Statut
Membre
Dernière intervention
27 août 2014
-
Modifié par yaciin le 15/01/2014 à 12:34
yaciin Messages postés 23 Date d'inscription mercredi 15 janvier 2014 Statut Membre Dernière intervention 27 août 2014 - 15 janv. 2014 à 16:58
yaciin Messages postés 23 Date d'inscription mercredi 15 janvier 2014 Statut Membre Dernière intervention 27 août 2014 - 15 janv. 2014 à 16:58
A voir également:
- Vlookup avec nom de plage récupéré d'un String
- Trouver une adresse avec un nom de famille gratuit ✓ - Forum Mobile
- Nom de l'adresse - Forum Réseaux sociaux
- Que faut il écrire dans le champ obligatoire : Adresse (suite)*? ✓ - Forum Réseaux sociaux
- &Quot;Nom de l'adresse" lors d'une inscription sur une site - Forum Consommation & Internet
- Comment récupérer un compte facebook piraté - Guide
7 réponses
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
15 janv. 2014 à 13:22
15 janv. 2014 à 13:22
Bonjour,
Essaie avec une formulation de ce type
A+
Essaie avec une formulation de ce type
ActiveCell.Formula = "=IFERROR(VLOOKUP(" & ActiveCell.Offset(0, -2).Address(0, 0) & ",magasin_2!C:AS,43,FALSE),0)"
A+
yaciin
Messages postés
23
Date d'inscription
mercredi 15 janvier 2014
Statut
Membre
Dernière intervention
27 août 2014
15 janv. 2014 à 14:07
15 janv. 2014 à 14:07
Bonjour Gyrus,
le problème que j'ai c'est au niveau du deuxième argument de Vlookup cad la plage, et non pas la valeur à chercher. soit ça soit j'ai pas compris ta solution..
Merci en tout cas t'es le premier à me répondre depuis ce matin (et dsl pour le retard j'été dans ma pause dej)
a+
le problème que j'ai c'est au niveau du deuxième argument de Vlookup cad la plage, et non pas la valeur à chercher. soit ça soit j'ai pas compris ta solution..
Merci en tout cas t'es le premier à me répondre depuis ce matin (et dsl pour le retard j'été dans ma pause dej)
a+
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
15 janv. 2014 à 14:27
15 janv. 2014 à 14:27
Lorsque tu écris
ActiveCell.Formula = "=IFERROR(VLOOKUP(" ... etc...
tu inscris la formule EXCEL spécifiée entre parenthèses dans la cellule active.
Les fonctions IFERROR et VLOOKUP sont des fonctions Excel.
Si tu écris
ActiveCell.FormulaR1C1 = "=IFERROR(application.VLOOKUP...etc...
tu fais appel à la méthode WorksheetFunction.VLookup et non pas à la fonction Excel.
As-tu essayé de modifier ton code avec mes instructions ?
Exemple : si la cellule active est E2, elle va placer la formule suivante
A+
ActiveCell.Formula = "=IFERROR(VLOOKUP(" ... etc...
tu inscris la formule EXCEL spécifiée entre parenthèses dans la cellule active.
Les fonctions IFERROR et VLOOKUP sont des fonctions Excel.
Si tu écris
ActiveCell.FormulaR1C1 = "=IFERROR(application.VLOOKUP...etc...
tu fais appel à la méthode WorksheetFunction.VLookup et non pas à la fonction Excel.
As-tu essayé de modifier ton code avec mes instructions ?
Exemple : si la cellule active est E2, elle va placer la formule suivante
=SIERREUR(RECHERCHEV(C2;magasin_2!C:AS;43;FAUX);0)
A+
yaciin
Messages postés
23
Date d'inscription
mercredi 15 janvier 2014
Statut
Membre
Dernière intervention
27 août 2014
15 janv. 2014 à 14:41
15 janv. 2014 à 14:41
Oui bien-sur j'ai essayé mais ça marche pas, il me sort la fenetre windows pour parcourir un fichier afin de sélectionner un fichier.
j'ai essayé aussi avec ma formule en enlevant 'application.' comme t'as dis (et merci pour l'info sur les fct excel) mais ça n'a pas marché non plus, il me met 0. :/
Ps : magasin_1 et magasin_2 sont respectivement la 2éme feuille et la 3éme feuille de mon fichier MAR. alors ma plage doit ressembler à :
'[table mard 27-11-13_vierge.xlsm]magasin_1'!C3:C45
et ce que je récupére de la liste dans le String c'est :
"table mard 27-11-13_vierge.xlsm" . Le nom exacte et complet du fichier MARD
ce qui me manque mnt c'est de donner ce string comme argument dans le Vlookup :/
j'ai essayé aussi avec ma formule en enlevant 'application.' comme t'as dis (et merci pour l'info sur les fct excel) mais ça n'a pas marché non plus, il me met 0. :/
Ps : magasin_1 et magasin_2 sont respectivement la 2éme feuille et la 3éme feuille de mon fichier MAR. alors ma plage doit ressembler à :
'[table mard 27-11-13_vierge.xlsm]magasin_1'!C3:C45
et ce que je récupére de la liste dans le String c'est :
"table mard 27-11-13_vierge.xlsm" . Le nom exacte et complet du fichier MARD
ce qui me manque mnt c'est de donner ce string comme argument dans le Vlookup :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
15 janv. 2014 à 15:12
15 janv. 2014 à 15:12
Si j'ai bien compris,
nom_fichier = "table mard 27-11-13_vierge.xlsm"
L'instruction devient
A+
nom_fichier = "table mard 27-11-13_vierge.xlsm"
L'instruction devient
ActiveCell.Formula = "=IFERROR(VLOOKUP(" & _
ActiveCell.Offset(0, -2).Address(0, 0) & _
",'[" & nom_fichier & "]magasin_2'!C:AS,43,FALSE),0)"
A+
yaciin
Messages postés
23
Date d'inscription
mercredi 15 janvier 2014
Statut
Membre
Dernière intervention
27 août 2014
15 janv. 2014 à 15:36
15 janv. 2014 à 15:36
MERCIIIIIIIIIIIIIIIIIIIIIIIII Gyrus. ça marche merci beaucoup.
Par contre, tu peux expliquer un peu cet histoire des '&' pour mes prochaines fois, tu sais ce qu'on dis : ne me donne pas le poisson apprend-moi a pêcher :p :p
Par contre, tu peux expliquer un peu cet histoire des '&' pour mes prochaines fois, tu sais ce qu'on dis : ne me donne pas le poisson apprend-moi a pêcher :p :p
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
15 janv. 2014 à 16:26
15 janv. 2014 à 16:26
Tu cherches à obtenir la formule suivante :
=SIERREUR(RECHERCHEV(C2;'[table mard 27-11-13_vierge.xlsm]magasin_2'!C:AS;43;FAUX);0)
Soit, en Grand-Breton
=IFERROR(VLOOKUP(C2,'[table mard 27-11-13_vierge.xlsm]magasin_2'!C:AS,43,FALSE),0)
Cette formule peut s'écrire sous la forme de 4 textes concaténés (l'esperluette & sert à concaténer des chaines de caractères. Exemple : "H" & "E" & "L" & "L" & "O" est équivalent à "HELLO").
" =IFERROR(VLOOKUP(" & "C2" & ",'[" & "table mard 27-11-13_vierge.xlsm" & "]magasin_2'!C:AS,43,FALSE),0)"
Dans cette formule, j'ai dégagé les 2 variables : C2 et table mard 27-11-13_vierge.xlsm
Il faut donc parvenir à transcrire ces valeurs sous forme de texte à partir des variables connues.
La cellule C2 correspond à ActiveCell.Offset(0, -2).
Le texte "C2" peut donc être obtenu avec ActiveCell.Offset(0, -2).Address(0, 0).
table mard 27-11-13_vierge.xlsm correspond à la valeur de la variable nom_fichier.
La formule s'obtient donc avec
"=IFERROR(VLOOKUP(" & ActiveCell.Offset(0, -2).Address(0, 0) & ",'[" & nom_fichier & "]magasin_2'!C:AS,43,FALSE),0)"
A+
=SIERREUR(RECHERCHEV(C2;'[table mard 27-11-13_vierge.xlsm]magasin_2'!C:AS;43;FAUX);0)
Soit, en Grand-Breton
=IFERROR(VLOOKUP(C2,'[table mard 27-11-13_vierge.xlsm]magasin_2'!C:AS,43,FALSE),0)
Cette formule peut s'écrire sous la forme de 4 textes concaténés (l'esperluette & sert à concaténer des chaines de caractères. Exemple : "H" & "E" & "L" & "L" & "O" est équivalent à "HELLO").
" =IFERROR(VLOOKUP(" & "C2" & ",'[" & "table mard 27-11-13_vierge.xlsm" & "]magasin_2'!C:AS,43,FALSE),0)"
Dans cette formule, j'ai dégagé les 2 variables : C2 et table mard 27-11-13_vierge.xlsm
Il faut donc parvenir à transcrire ces valeurs sous forme de texte à partir des variables connues.
La cellule C2 correspond à ActiveCell.Offset(0, -2).
Le texte "C2" peut donc être obtenu avec ActiveCell.Offset(0, -2).Address(0, 0).
table mard 27-11-13_vierge.xlsm correspond à la valeur de la variable nom_fichier.
La formule s'obtient donc avec
"=IFERROR(VLOOKUP(" & ActiveCell.Offset(0, -2).Address(0, 0) & ",'[" & nom_fichier & "]magasin_2'!C:AS,43,FALSE),0)"
A+
yaciin
Messages postés
23
Date d'inscription
mercredi 15 janvier 2014
Statut
Membre
Dernière intervention
27 août 2014
15 janv. 2014 à 16:58
15 janv. 2014 à 16:58
Parfait. Merci pour tout encore et bonne soirée à toi ;)